回顧數(shù)據(jù)倉庫的發(fā)展歷程,大致可以將其分為幾個(gè)階段:萌芽探索到全企業(yè)集成時(shí)代、企業(yè)數(shù)據(jù)集成時(shí)代、混亂時(shí)代--"數(shù)據(jù)倉庫之父"間的論戰(zhàn)、理論模型確認(rèn)時(shí)代以及數(shù)據(jù)倉庫產(chǎn)品百家爭(zhēng)鳴時(shí)代。
數(shù)據(jù)倉庫理論發(fā)展歷程
上世紀(jì)70年代,IBM的E.F.Codd等人提出關(guān)系型數(shù)據(jù)庫后,MIT的研究員提出單獨(dú)構(gòu)建分析系統(tǒng)的基礎(chǔ)理論,新的理論試圖將業(yè)務(wù)處理系統(tǒng)和分析系統(tǒng)分開,即將業(yè)務(wù)處理和分析處理分為不同層次,針對(duì)各自的特點(diǎn)采取不同的架構(gòu)設(shè)計(jì)原則。他們認(rèn)為這兩種信息處理的方式具有較大差別,應(yīng)使用不同的架構(gòu)和設(shè)計(jì)。但受限于當(dāng)時(shí)的技術(shù)能力,這個(gè)研究?jī)H僅停留在理論層面。
到了80年代初,W.H.Inmon 開始了“記錄系統(tǒng)”、“本原數(shù)據(jù)”、“決策支持?jǐn)?shù)據(jù)庫”等專題的研究。幾乎同時(shí),J. Martin在關(guān)于數(shù)據(jù)庫分類的研究中,專指一種他稱之為“第4類數(shù)據(jù)庫”的“由用戶驅(qū)動(dòng)的計(jì)算環(huán)境”,為這種環(huán)境提供信息服務(wù)的是一種以“搜索和快速信息回收”為基本特征的數(shù)據(jù)庫。這個(gè)定義已經(jīng)和后來的數(shù)據(jù)倉庫十分類似。
1988年,IBM 公司的研究員創(chuàng)造性地提出了一個(gè)新的概念--數(shù)據(jù)倉庫(Data Warehouse)。到了1991年,數(shù)據(jù)倉庫之父W.H.Inmon出版數(shù)據(jù)倉庫經(jīng)典作品--《構(gòu)建數(shù)據(jù)庫倉庫》,標(biāo)志著數(shù)據(jù)倉庫概念的確立。書中指出,DW是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,并且是用于支持管理決策的數(shù)據(jù)集合。該書還提供了建立數(shù)據(jù)倉庫的指導(dǎo)意見和基本原則,憑借著這本書,W.H.Inmon被稱為數(shù)據(jù)倉庫之父。

由于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已無法滿足構(gòu)建數(shù)據(jù)倉庫的需求,在1993年Codd提出了多維數(shù)據(jù)庫和多維分析的概念,即OLAP(On-Line Analysis Processing聯(lián)機(jī)分析處理)。當(dāng)時(shí)Codd認(rèn)為OLTP(On- Line Transaction Processing 聯(lián)機(jī)事務(wù)處理)已不能滿足終端用戶對(duì)數(shù)據(jù)庫查詢的需要,SQL對(duì)大數(shù)據(jù)庫進(jìn)行的簡(jiǎn)單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對(duì)關(guān)系數(shù)據(jù)庫進(jìn)行大量計(jì)算才能得到結(jié)果,而查詢的結(jié)果并不能滿足決策者提出的需要。因此提出了多維數(shù)據(jù)庫和多維分析的概念,即OLAP。
1995年,Ralph Kimball出版了《數(shù)據(jù)倉庫工具箱》,數(shù)據(jù)倉庫行業(yè)進(jìn)入少林和武當(dāng)之爭(zhēng)。Inmon主張建立數(shù)據(jù)倉庫時(shí)采用自上而下方式,以關(guān)系型數(shù)據(jù)庫的第3范式進(jìn)行數(shù)據(jù)倉庫模型設(shè)計(jì),而Kimball則是主張自下而上的方式,力推數(shù)據(jù)集市(Data Market)建設(shè)。兩位數(shù)據(jù)倉庫領(lǐng)域的大咖為此吵得不可開交,他們的粉絲也紛紛站隊(duì),這種爭(zhēng)吵直到Inmon推出新的BI架構(gòu)CIF,把Kimball的數(shù)據(jù)集市包括了進(jìn)來才算平息。
早期MPP時(shí)代的數(shù)倉
IBM DB2和Teradata是早期數(shù)倉理論的實(shí)踐者,也是市場(chǎng)領(lǐng)導(dǎo)者。其中Teradata是MPP數(shù)倉最成功的商業(yè)產(chǎn)品,幾乎是行業(yè)的天花板。誕生于1970年代末的Teradata公司,名稱來源于Tera Bytes,TB數(shù)據(jù)的存儲(chǔ)也展示了哪個(gè)年代創(chuàng)業(yè)者的雄心壯志。終于在1992年第一個(gè)TB 級(jí)的數(shù)據(jù)庫在華爾街出現(xiàn)。1999年,客戶擁有130TB的數(shù)據(jù)分布于176個(gè)節(jié)點(diǎn)。短短7年時(shí)間,Teradata客戶的數(shù)據(jù)規(guī)模翻了176倍。
但進(jìn)入新千年后,數(shù)據(jù)庫巨頭間的競(jìng)爭(zhēng)進(jìn)入白熱化階段,以O(shè)racle Exadata為代表的一體機(jī)很快嶄露頭角。之后在Postgres基礎(chǔ)上演變而來的Greenplum構(gòu)建了開源的MPP架構(gòu)數(shù)倉,也在市場(chǎng)中有很高的影響力。但真正讓數(shù)倉煥然一新的是云計(jì)算時(shí)代的云原生數(shù)倉Snowflake。
一體機(jī)時(shí)代的數(shù)倉
新千年后,數(shù)倉進(jìn)入一體機(jī)的快速發(fā)展時(shí)代,典型代表是Netezza、SAP HANA和Oracle Exadata。Netezza率先推出,后來被IBM收購。而Oracle Exadata為代表的一體機(jī)依然是今天Oracle公司的核心業(yè)務(wù)。2008年,Exadata V1誕生,由Oracle提供軟件惠普提供硬件,這一代產(chǎn)品僅支持?jǐn)?shù)據(jù)倉庫和商務(wù)智能等OLAP工作。到了2009年9月,Exadata V2發(fā)布,采用了SUN的(此后MySQL也屬于了Oracle),次年Oracle完成了SUN的收購。在V2版本中,Exadata存儲(chǔ)節(jié)點(diǎn)中首次采用了Flash卡,從而可以同時(shí)支持OLAP和OLTP類型的負(fù)載。有了高性能產(chǎn)品的同時(shí)也有了極其昂貴的價(jià)格。
著名的Conor O'Mahony(DB2的市場(chǎng)經(jīng)理)羅列了使用一臺(tái)全機(jī)架系統(tǒng)(full-rack)Exdata V2所需的費(fèi)用列表:
$1,150,000 硬件價(jià)格
$1,680,000 存儲(chǔ)服務(wù)器的軟件價(jià)格
$369,600 存儲(chǔ)服務(wù)器軟件支持和維護(hù)費(fèi)用(以22%計(jì))
$1,520,000 Oracle企業(yè)版軟件價(jià)格($47.5k*8 servers*8 cores*0.5 Intel core factor)
$736,000 Oracle RAC軟件價(jià)格($23k*8 servers*8 cores*0.5 Intel core factor)
$368,000 Oracle分區(qū)特性價(jià)格 ($11.5k*8 servers*8 cores*0.5 Intel core factor)
$368,000 Oracle高級(jí)壓縮(Advanced Compression) ($11.5k*8 servers*8 cores*0.5 Intel core factor)
$160,000 Oracle企業(yè)管理器診斷包(推薦安裝)
$160,000 Oracle企業(yè)管理器調(diào)優(yōu)包(推薦安裝)
$728,640 以上除去存儲(chǔ)服務(wù)器軟件的第一年軟件維護(hù)支持價(jià)格(以22%計(jì))
Oracle Exadata 一體機(jī)
如此昂貴的價(jià)格,對(duì)于一般企業(yè)顯然無法接受。人們相信全新一代的數(shù)倉技術(shù)一定會(huì)在一個(gè)萬眾囑目的情況下出現(xiàn),像蓋世英雄身披金甲圣衣,腳踏七彩祥云而來。
云計(jì)算時(shí)代的數(shù)倉
隨著移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的蓬勃發(fā)展,率先掀起數(shù)據(jù)庫革命的是Google公司,他的三篇論文開啟了大數(shù)據(jù)時(shí)代,之后言數(shù)倉、大數(shù)據(jù)必稱Hadoop。但它的弊病也頗為明顯,昂貴、不方便使用、難維護(hù)等問題始終無法很好的解決。直到計(jì)算機(jī)行業(yè)七彩祥云--云計(jì)算出現(xiàn),為整個(gè)行業(yè)和人類生活帶來巨大變化。而此時(shí)的數(shù)據(jù)倉庫在變更的前夜顯得異常安靜,古語言:三年不鳴一鳴驚人,Snowflake 就是三年不飛一飛沖天的云計(jì)算時(shí)代云原生數(shù)倉產(chǎn)品。
2012年,在Oracle公司工作十多年的2位程序員決心在云上建立一個(gè)數(shù)據(jù)倉庫,于是誕生了Snowflake公司。它誕生的第一天,就有云計(jì)算的特點(diǎn):存儲(chǔ)與計(jì)算分離、按量付費(fèi)、云中立。作為第一個(gè)基于云原生的數(shù)據(jù)倉庫,Snowflake 敏銳的抓住從本地到上云的時(shí)代趨勢(shì),充分利用公有云強(qiáng)大基礎(chǔ)設(shè)施能力,讓用戶更加輕松實(shí)現(xiàn)跨云平臺(tái)、跨區(qū)域的方式移動(dòng)數(shù)據(jù)。這種基于云原生、云中立、跨多云平臺(tái)的云原生數(shù)據(jù)服務(wù),為客戶提供巨大數(shù)據(jù)價(jià)值的同時(shí),極大降低了客戶使用、維護(hù)、價(jià)格成本。
Snowflake產(chǎn)品上的成功同時(shí)也取得資本市場(chǎng)的巨大成功。2020年9月16日,在紐交所成功IPO,股神巴菲特斥幾億美元入股,交易首日股價(jià)翻倍市值達(dá)到704億美元,成為史上規(guī)模最大的軟件IPO,之后市值一度最高突破1200億美元,儼然成為資本市場(chǎng)的寵兒。

數(shù)據(jù)倉庫和數(shù)據(jù)庫關(guān)系
廣義的數(shù)據(jù)倉庫并不是一項(xiàng)技術(shù),也不是一個(gè)產(chǎn)品,而是一種數(shù)據(jù)處理過程。數(shù)據(jù)倉庫的數(shù)據(jù)來源有多種,業(yè)務(wù)系統(tǒng)、日志、互聯(lián)網(wǎng)、系統(tǒng)運(yùn)行參數(shù)等等,這些數(shù)據(jù)可以在數(shù)據(jù)倉庫中進(jìn)行匯合,然后通過統(tǒng)一的建模,加工成服務(wù)與數(shù)據(jù)分析的數(shù)據(jù)模型,最終輔助企業(yè)分析決策。
那如何構(gòu)建數(shù)據(jù)倉庫呢?常見的是使用OLAP數(shù)據(jù)庫(如近年流行Clickhouse)存儲(chǔ)數(shù)據(jù),通過數(shù)據(jù)建模、ETL、數(shù)據(jù)可視化等一系列操作,這一過程被稱為構(gòu)建數(shù)據(jù)倉庫。由于數(shù)據(jù)倉庫基于OLAP產(chǎn)品,是做在線分析處理,這是與數(shù)據(jù)庫的本質(zhì)區(qū)別。另外,既然是數(shù)據(jù)倉庫就要加工數(shù)據(jù),加工數(shù)據(jù)會(huì)耗時(shí)間,所以加工數(shù)據(jù)在實(shí)際的應(yīng)用中又分為批處理和實(shí)時(shí)處理。而傳統(tǒng)的數(shù)據(jù)庫是為了解決事務(wù)存在的,他們的區(qū)別如下。

總結(jié)和展望
數(shù)據(jù)倉庫是80~90年代提出的概念,互聯(lián)網(wǎng)企業(yè)為了解決更大數(shù)據(jù)量的管理問題,掀起了大數(shù)據(jù)技術(shù)新浪潮,大數(shù)據(jù)已經(jīng)跳出了數(shù)倉定義領(lǐng)域,未來再專題闡述。隨著2020年云原生數(shù)倉Snowflake上市并取得巨大的成功,大家開始趨向把數(shù)據(jù)倉庫、大數(shù)據(jù)、數(shù)據(jù)湖、云存儲(chǔ)的技術(shù)全面融合,全世界掀起了云原生數(shù)據(jù)倉庫和湖倉一體的熱潮,國際上Databricks、Clickhouse已經(jīng)正面PK,國內(nèi)有SequoiaDB、MaxCompute,AnalyticDB,GaussDB(DWS),OuShuDB、StarRocks、SelectDB、HashData等不下數(shù)十款產(chǎn)品,還有很多類似HTAP新品在路上,未來必將迎來百倉大戰(zhàn)的腥風(fēng)血雨。
數(shù)據(jù)倉庫發(fā)展史

審核編輯 黃昊宇
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4085瀏覽量
68568
發(fā)布評(píng)論請(qǐng)先 登錄
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—北京某國企Oracle數(shù)據(jù)庫Truncate數(shù)據(jù)丟失恢復(fù)案例
Oracle數(shù)據(jù)庫ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例
mysql數(shù)據(jù)恢復(fù)—mysql數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫性能優(yōu)化指南
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例
Oracle數(shù)據(jù)恢復(fù)—格式化分區(qū)導(dǎo)致Oracle數(shù)據(jù)庫報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例
三款主流國產(chǎn)數(shù)據(jù)庫的技術(shù)特點(diǎn)
企業(yè)級(jí)MySQL數(shù)據(jù)庫管理指南
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?
oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯(cuò)誤truncate命令如何恢復(fù)數(shù)據(jù)?
數(shù)據(jù)庫發(fā)展史2--數(shù)據(jù)倉庫
評(píng)論