91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

讓業務實現回歸數據庫

發布時間:2020-08-12 03:08:37 來源:ITPUB博客 閱讀:107 作者:husthxd 欄目:數據庫

????? 讓時間回到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語言。

????? 與其在中間層上耗費大量的資源還不如在后臺數據庫上投入資源,形成數據庫集群,在分布式數據庫的應用環境下,每個節點即時數據存儲節點也同樣是計算節點,簡單有效且高效。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

年辖:市辖区| 阿鲁科尔沁旗| 天峨县| 南汇区| 盱眙县| 五常市| 天祝| 汝南县| 淮北市| 东光县| 轮台县| 泗水县| 巴林右旗| 泾阳县| 池州市| 盐津县| 平利县| 金坛市| 福安市| 广东省| 巫溪县| 曲麻莱县| 北安市| 莱西市| 五华县| 英德市| 佛教| 阿瓦提县| 亚东县| 峨眉山市| 西华县| 瑞昌市| 余姚市| 新源县| 浏阳市| 乌兰浩特市| 平安县| 天等县| 勐海县| 乌拉特前旗| 象州县|