讓業務實現迴歸資料庫
讓時間回到2000年,當年流行的MIS系統絕大多數均採用C/S架構,也就是使用PowerBuilder/Delphi/VB等工具開發的胖客戶端透過OCI或其他介面直接連線Oracle或其他資料庫,業務邏輯在資料庫端實現,也就是透過PL/SQL、T-SQL語言等實現儲存過程、函式、觸發器等,由胖客戶端進行呼叫。C/S架構,其中一個很大的問題是不利於擴充套件,由於Client直接連線資料庫,在業務繁忙的時候很容易把資料庫端的資源(連線數、伺服器記憶體等)耗盡,導致業務中斷甚至無法辦理。
為了解決這個問題,在C/S之間多加一層,同時把C端換成B端,也就是多加了一層中間層,同時把胖客戶端換成了瘦客戶端如瀏覽器等。資料庫連線由中間層進行管理,原來由儲存過程實現的業務邏輯改由中間層實現,這樣的做法讓不少的服務端語言(最著名的莫過於Java)得到了廣泛的推廣和應用。B/S/S的架構,讓資料庫的角色淪為了資料儲存器(Data Container)的角色,外加一些增刪改查的邏輯。隨著資料量的不斷增長,中間層與資料庫端的互動越來越頻繁,資料處理的低效與使用者希望快速高效的獲得結果的訴求之間矛盾顯得尤為突出。首先,資料從資料庫端傳送到中間層需要耗費時間;其次,使用中間層開發語言(大多數使用Java)處理大批次資料時,效率相對C/C++低效得多(尤其在系統資源利用上);再次,處理完畢後如果還需要入庫,還需要一次網路的傳輸。如何解決這個問題?讓業務實現迴歸資料庫是行之有效的一種解決方法。
讓業務實現迴歸資料庫,並不是意味著業務應用系統的開發要採用原有的C/S架構,而是在三層結構的基礎上,把部分業務邏輯的實現(尤其是需要頻繁資料互動和資料處理的地方)回到資料庫端實現,這時候可以使用C/C++這類高效的語言進行資料庫的擴充套件開發,在資料庫伺服器端對大批次資料進行處理或分析,減少網路的來回傳輸,提高系統的整體效率。
資料庫的應用系統業務邏輯如何高效實現?如果是Oracle/SQLServer的話,儲存過程不失為一個很好的選項,雖然這個選項讓人覺得很Low和倒行逆施、不合潮流,但卻是一個有效和高效的選項,特別是在以Oracle為中心的應用場景下。如果是PostgreSQL的話,除了儲存過程,還可以開發Extension,用C/C++、Python、Java甚至JS都可以,當然,效率最高的莫過於C語言。
與其在中間層上耗費大量的資源還不如在後臺資料庫上投入資源,形成資料庫叢集,在分散式資料庫的應用環境下,每個節點即時資料儲存節點也同樣是計算節點,簡單有效且高效。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2158221/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python實現線性迴歸之簡單迴歸Python
- 線性迴歸-如何對資料進行迴歸分析
- Logistic迴歸、softmax迴歸以及tensorflow實現MNIST識別
- Keras上實現Softmax迴歸模型Keras模型
- TensorFlow實現線性迴歸
- 【機器學習】線性迴歸sklearn實現機器學習
- pytorch實現線性迴歸PyTorch
- 資料分析:線性迴歸
- 讓資料更智慧的驅動業務——優炫自治資料庫資料庫
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- Alink漫談(十) :線性迴歸實現 之 資料預處理
- 大資料 - DWS層 業務實現大資料
- 資料管理:業務資料清洗,落地實現方案
- 為何打通業務資料,實現資料流通?
- 線性迴歸 go 語言實現Go
- 【機器學習】多項式迴歸sklearn實現機器學習
- 歸併排序的非遞迴實現排序遞迴
- 【機器學習】線性迴歸python實現機器學習Python
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- 【機器學習】多項式迴歸python實現機器學習Python
- Pytorch 實現簡單線性迴歸PyTorch
- 機器學習--線性迴歸--梯度下降的實現機器學習梯度
- 利用TensorFlow實現多元線性迴歸
- 利用TensorFlow實現多元邏輯迴歸邏輯迴歸
- 利用TensorFlow實現線性迴歸模型模型
- 利用Tensorflow實現邏輯迴歸模型邏輯迴歸模型
- 用Excel做資料分析――迴歸分析Excel
- 預測數值型資料:迴歸
- 讓資料庫不再成為業務發展瓶頸——分散式資料庫架構設計資料庫分散式架構
- 迴歸資料分析,資料運營的三種角色!
- Java: 實現自迴歸分析/線性迴歸分析/基金各項指標計算等Java指標
- SMOGN演算法Python實現:解決迴歸分析中的資料不平衡演算法Python
- 廣告歸因-讓你徹底弄歸因架構實現架構
- 機器學習之線性迴歸(純python實現)機器學習Python
- 樹迴歸|理論與演算法實現演算法
- 線性迴歸:最小二乘法實現
- 邏輯迴歸演算法推理與實現邏輯迴歸演算法
- 【pytorch_5】線性迴歸的實現PyTorch