- 商業銀行數據庫管理實踐
- 王飛鵬 王寧等編著
- 1572字
- 2022-07-28 19:24:46
序二
“Everything old is new again.”
如果回顧數據庫的發展歷史,會發現很多有趣的事實。當前數據庫面臨的問題其實還是“老”問題,如I/O、Lock這些問題和最早期數據庫中面臨的問題是一樣的,并沒有實質的改變,只是規模要比以前大多了。目前的新技術、新想法其實也并不“新”。如果查閱20世紀70年代的論文,會發現很多想法在IBM第一代關系數據庫研究項目System R系統中就提出了,只是當時因為硬件限制無法實現。現在由于硬件的進步,很多技術才開始真正被商用。
因此,回顧數據庫發展史可以幫助我們更好地把握技術的走向。數據庫的緣起可以追溯到20世紀60年代,當時有三個主流的數據模型——層級型、網絡型以及關系型。IBM的第一代數據庫IMS就是層級型的,現今還是最快的交易系統。網絡型雖然當時并沒有獲得太高的關注,不過近年來越來越火的圖數據庫其實和當時網絡型的數據庫是很相似的。關系數據庫在三種模型中逐漸成為主流,并且獲得了巨大的商業成功。20世紀80年代開始IBM和Oracle成為這個領域的翹楚。
無論是哪種數據模型,數據庫的本質是如何高效地存儲數據(Storage)和如何快速地訪問數據(SQL)。這些年來由于企業架構和信息系統的更迭,數據庫技術為了滿足特定的需求也在不斷地演進。但是其核心是不變的,還是圍繞著數據的存儲和訪問。
例如,為了適應高并發、高響應的應用需求,關系數據庫演化出來分布式模型。分布式數據庫總體設計有兩個思路和方向,一個是基于共享存儲的架構(share disk),如IBM Db2 PureScale;另一個是基于數據分片的架構(share nothing)。數據分片架構的特點是底層數據通過一定的規則比如散列將數據打散,分布到不同的數據節點上,計算時底層多個節點共同參與計算,同時數據節點可以進行橫向擴展,上層由協調節點進行SQL解析和轉發,這是目前典型的分布式數據庫架構。
除了性能的要求,數據類型也發生了變化。除了結構化數據之外,20世紀90年代后出現了大量的視頻、音頻、空間位置等信息。這個時候就形成了面向對象的數據庫。但由于關系數據庫在市場上占據統治地位,面向對象的數據庫由于存取數據的復雜性并沒有流行起來。關系數據庫為了適應新的數據類型,增加了可擴展性,支持了新數據類型的存儲和訪問,如IBM Db2支持XML數據類型。
2000年以后,隨著商業智能的興起,數據倉庫成為數據庫舞臺新的明星。為了加速處理分析型(OLAP)負載的速度,數據庫在行存儲之外又出現了列存儲的方式,如Db2 BLU,使用列存儲的分析型查詢速度提升了8~25倍。
2000年后期,由于互聯網的蓬勃發展,互聯網的應用日新月異。而這些新的應用要處理海量數據和急劇增長的用戶數目,要求數據庫具有高擴展性、高可靠性、低時延和低成本。同時也相應放寬或者放棄事務性的約束。這些需求促生了新的數據庫技術發展——NoSQL。這些新型的數據庫為了特定應用而產生,核心是簡化數據模型,快速擴展以解決互聯網應用爆炸式的增長。例如,IBM Cloudant可以在全球所有IBM Cloud區域和超過55個數據中心內使用,滿足全球應用性能和災難恢復需求。
2010年之后又出現了要兼顧NoSQL性能以及保留關系模型和強事務的New SQL。這幾年隨著云計算的普及,云計算作為靈活和經濟的存儲和計算資源,正在和數據庫技術結合,很多企業也開始考慮數據庫上云。IBM Cloud Pak for Data是一個基于Red Hat OpenShift構建的數據和AI平臺。它提供了便捷的方式可以將Workload從獨立的Db2遷移到IBM Cloud Pak for Data上的容器化Db2,幫助企業實現數據庫云化。
從數據庫的歷史可以看出,數據庫新技術層出不窮,新產品百花齊放,但是核心理念是不變的,大家都是在關系數據庫的基礎上迅速構建和遷移自己的數據庫架構體系。
最后想說一下,我和飛鵬認識于15年前,我們共同在IBM的數據庫團隊從事研發工作。飛鵬不僅具有深入的數據庫知識和豐富的運維經驗,更重要的是具有知識融會貫通的能力。非常高興看到飛鵬把自己的方法論總結成書,也希望這本書能夠幫助更多的數據庫技術人員更好地應對新技術變化所帶來的新挑戰。
IBM中國開發實驗室
數據和人工智能總經理
吳嫣
2021年5月18日
- 數據要素安全流通
- 算法競賽入門經典:習題與解答
- Test-Driven Development with Mockito
- 數據之巔:數據的本質與未來
- Spark大數據分析實戰
- 深入淺出數字孿生
- Sybase數據庫在UNIX、Windows上的實施和管理
- Dependency Injection with AngularJS
- OracleDBA實戰攻略:運維管理、診斷優化、高可用與最佳實踐
- 網站數據庫技術
- INSTANT Apple iBooks How-to
- Augmented Reality using Appcelerator Titanium Starter
- 數據庫查詢優化器的藝術:原理解析與SQL性能優化
- openGauss數據庫核心技術
- Spring Boot 2.0 Cookbook(Second Edition)