回顧數據倉庫的發展歷程,大致可以將其分為幾個階段:萌芽探索到全企業集成時代、企業數據集成時代、混亂時代--"數據倉庫之父"間的論戰、理論模型確認時代以及數據倉庫產品百家爭鳴時代。
數據倉庫理論發展歷程
上世紀70年代,IBM的E.F.Codd等人提出關系型數據庫后,MIT的研究員提出單獨構建分析系統的基礎理論,新的理論試圖將業務處理系統和分析系統分開,即將業務處理和分析處理分為不同層次,針對各自的特點采取不同的架構設計原則。他們認為這兩種信息處理的方式具有較大差別,應使用不同的架構和設計。但受限于當時的技術能力,這個研究僅僅停留在理論層面。
到了80年代初,W.H.Inmon 開始了“記錄系統”、“本原數據”、“決策支持數據庫”等專題的研究。幾乎同時,J. Martin在關于數據庫分類的研究中,專指一種他稱之為“第4類數據庫”的“由用戶驅動的計算環境”,為這種環境提供信息服務的是一種以“搜索和快速信息回收”為基本特征的數據庫。這個定義已經和后來的數據倉庫十分類似。
1988年,IBM 公司的研究員創造性地提出了一個新的概念--數據倉庫(Data Warehouse)。到了1991年,數據倉庫之父W.H.Inmon出版數據倉庫經典作品--《構建數據庫倉庫》,標志著數據倉庫概念的確立。書中指出,DW是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,并且是用于支持管理決策的數據集合。該書還提供了建立數據倉庫的指導意見和基本原則,憑借著這本書,W.H.Inmon被稱為數據倉庫之父。
由于傳統的關系型數據庫已無法滿足構建數據倉庫的需求,在1993年Codd提出了多維數據庫和多維分析的概念,即OLAP(On-Line Analysis Processing聯機分析處理)。當時Codd認為OLTP(On- Line Transaction Processing 聯機事務處理)已不能滿足終端用戶對數據庫查詢的需要,SQL對大數據庫進行的簡單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對關系數據庫進行大量計算才能得到結果,而查詢的結果并不能滿足決策者提出的需要。因此提出了多維數據庫和多維分析的概念,即OLAP。
1995年,Ralph Kimball出版了《數據倉庫工具箱》,數據倉庫行業進入少林和武當之爭。Inmon主張建立數據倉庫時采用自上而下方式,以關系型數據庫的第3范式進行數據倉庫模型設計,而Kimball則是主張自下而上的方式,力推數據集市(Data Market)建設。兩位數據倉庫領域的大咖為此吵得不可開交,他們的粉絲也紛紛站隊,這種爭吵直到Inmon推出新的BI架構CIF,把Kimball的數據集市包括了進來才算平息。
早期MPP時代的數倉
IBM DB2和Teradata是早期數倉理論的實踐者,也是市場領導者。其中Teradata是MPP數倉最成功的商業產品,幾乎是行業的天花板。誕生于1970年代末的Teradata公司,名稱來源于Tera Bytes,TB數據的存儲也展示了哪個年代創業者的雄心壯志。終于在1992年第一個TB 級的數據庫在華爾街出現。1999年,客戶擁有130TB的數據分布于176個節點。短短7年時間,Teradata客戶的數據規模翻了176倍。
但進入新千年后,數據庫巨頭間的競爭進入白熱化階段,以Oracle Exadata為代表的一體機很快嶄露頭角。之后在Postgres基礎上演變而來的Greenplum構建了開源的MPP架構數倉,也在市場中有很高的影響力。但真正讓數倉煥然一新的是云計算時代的云原生數倉Snowflake。
一體機時代的數倉
新千年后,數倉進入一體機的快速發展時代,典型代表是Netezza、SAP HANA和Oracle Exadata。Netezza率先推出,后來被IBM收購。而Oracle Exadata為代表的一體機依然是今天Oracle公司的核心業務。2008年,Exadata V1誕生,由Oracle提供軟件惠普提供硬件,這一代產品僅支持數據倉庫和商務智能等OLAP工作。到了2009年9月,Exadata V2發布,采用了SUN的(此后MySQL也屬于了Oracle),次年Oracle完成了SUN的收購。在V2版本中,Exadata存儲節點中首次采用了Flash卡,從而可以同時支持OLAP和OLTP類型的負載。有了高性能產品的同時也有了極其昂貴的價格。
著名的Conor O'Mahony(DB2的市場經理)羅列了使用一臺全機架系統(full-rack)Exdata V2所需的費用列表:
$1,150,000 硬件價格
$1,680,000 存儲服務器的軟件價格
$369,600 存儲服務器軟件支持和維護費用(以22%計)
$1,520,000 Oracle企業版軟件價格($47.5k*8 servers*8 cores*0.5 Intel core factor)
$736,000 Oracle RAC軟件價格($23k*8 servers*8 cores*0.5 Intel core factor)
$368,000 Oracle分區特性價格 ($11.5k*8 servers*8 cores*0.5 Intel core factor)
$368,000 Oracle高級壓縮(Advanced Compression) ($11.5k*8 servers*8 cores*0.5 Intel core factor)
$160,000 Oracle企業管理器診斷包(推薦安裝)
$160,000 Oracle企業管理器調優包(推薦安裝)
$728,640 以上除去存儲服務器軟件的第一年軟件維護支持價格(以22%計)
Oracle Exadata 一體機
如此昂貴的價格,對于一般企業顯然無法接受。人們相信全新一代的數倉技術一定會在一個萬眾囑目的情況下出現,像蓋世英雄身披金甲圣衣,腳踏七彩祥云而來。
云計算時代的數倉
隨著移動互聯網、物聯網的蓬勃發展,率先掀起數據庫革命的是Google公司,他的三篇論文開啟了大數據時代,之后言數倉、大數據必稱Hadoop。但它的弊病也頗為明顯,昂貴、不方便使用、難維護等問題始終無法很好的解決。直到計算機行業七彩祥云--云計算出現,為整個行業和人類生活帶來巨大變化。而此時的數據倉庫在變更的前夜顯得異常安靜,古語言:三年不鳴一鳴驚人,Snowflake 就是三年不飛一飛沖天的云計算時代云原生數倉產品。
2012年,在Oracle公司工作十多年的2位程序員決心在云上建立一個數據倉庫,于是誕生了Snowflake公司。它誕生的第一天,就有云計算的特點:存儲與計算分離、按量付費、云中立。作為第一個基于云原生的數據倉庫,Snowflake 敏銳的抓住從本地到上云的時代趨勢,充分利用公有云強大基礎設施能力,讓用戶更加輕松實現跨云平臺、跨區域的方式移動數據。這種基于云原生、云中立、跨多云平臺的云原生數據服務,為客戶提供巨大數據價值的同時,極大降低了客戶使用、維護、價格成本。
Snowflake產品上的成功同時也取得資本市場的巨大成功。2020年9月16日,在紐交所成功IPO,股神巴菲特斥幾億美元入股,交易首日股價翻倍市值達到704億美元,成為史上規模最大的軟件IPO,之后市值一度最高突破1200億美元,儼然成為資本市場的寵兒。
數據倉庫和數據庫關系
廣義的數據倉庫并不是一項技術,也不是一個產品,而是一種數據處理過程。數據倉庫的數據來源有多種,業務系統、日志、互聯網、系統運行參數等等,這些數據可以在數據倉庫中進行匯合,然后通過統一的建模,加工成服務與數據分析的數據模型,最終輔助企業分析決策。
那如何構建數據倉庫呢?常見的是使用OLAP數據庫(如近年流行Clickhouse)存儲數據,通過數據建模、ETL、數據可視化等一系列操作,這一過程被稱為構建數據倉庫。由于數據倉庫基于OLAP產品,是做在線分析處理,這是與數據庫的本質區別。另外,既然是數據倉庫就要加工數據,加工數據會耗時間,所以加工數據在實際的應用中又分為批處理和實時處理。而傳統的數據庫是為了解決事務存在的,他們的區別如下。
總結和展望
數據倉庫是80~90年代提出的概念,互聯網企業為了解決更大數據量的管理問題,掀起了大數據技術新浪潮,大數據已經跳出了數倉定義領域,未來再專題闡述。隨著2020年云原生數倉Snowflake上市并取得巨大的成功,大家開始趨向把數據倉庫、大數據、數據湖、云存儲的技術全面融合,全世界掀起了云原生數據倉庫和湖倉一體的熱潮,國際上Databricks、Clickhouse已經正面PK,國內有SequoiaDB、MaxCompute,AnalyticDB,GaussDB(DWS),OuShuDB、StarRocks、SelectDB、HashData等不下數十款產品,還有很多類似HTAP新品在路上,未來必將迎來百倉大戰的腥風血雨。
數據倉庫發展史
審核編輯 黃昊宇
-
數據庫
+關注
關注
7文章
3799瀏覽量
64388
發布評論請先 登錄
相關推薦
評論