資料庫橫向對比與前沿技術分析探討

語言: CN / TW / HK

作者丨教授老邊  

雲端計算、大資料、高效能儲存與計算系統架構專家

1

何需資料庫?

網際網路和移動網際網路絡的快速發展帶來了資料產生速率的極大增長,每時每刻都有數以十億量級的裝置在生產出巨大體量的資料。

從資料產生的渠道來看,主要分為兩類,一類是人類活動生成的資料,諸如我們日常的網頁瀏覽、收集等移動裝置的使用;另一類是機器產生的資料,如生產線裝置、物聯網裝置、感測器、無線網路等。

從資料生成的速度來看,據國際資料公司IDC的監測資料顯示,2013年,全球大資料庫儲量為4.3ZB(相當於47.24億個1TB容量的行動硬碟);2014年是6.6ZB;2015年是8.6ZB;2018年是33.0ZB……預計在 2030 年,將會有超過千億量級的聯網感測裝置產生出巨大體量的資料。

圖1:2016年至2020年全球每年產生的資料量(單位:ZB,%)

面對每天產生的海量資料,人們怎麼能夠做到又快又好地找到並呼叫呢?於是,資料庫就是被創造出來幫助人們快速提取資料價值的利器。當然,還有其它類似的概念和工具,諸如資料倉庫、資料集市、資料湖泊等,旨在解決我們日常所面對的資料儲存、資料轉換、資料分析、BI商務智慧等一系列工作。

2

資料庫的進化路徑

現代商業社會對資料庫效能方面的要求推動了資料處理基礎架構與技術的發展。下圖展示了以資料庫為中心的資料處理基礎架構和技術的進化路徑: 從關係型資料到大資料,從大資料到快資料,從快資料到深資料 ,從深資料到圖資料。

  • 1980-2010年間的 關係型資料庫 主導的階段;

  • 2010-2020年間的大資料(NoSQL、數倉、數湖、大資料框架)主導的 大資料 時代;

  • 2020-2030年則可以預見的是 圖計算(圖資料庫) 的時代。

圖2:資料處理基礎架構與技術的進化路線

資料庫的進化是由 商業需求 所驅動的,當企業IT資訊化已經基本完成後,再向前就是數字化轉型與全面智慧化(數智化)。

但是,SQL/RDBMS已經是有40年曆史的老舊的技術框架了,即便是變身為數倉、數湖、NoSQL、NewSQL還是流批一體化框架, 本質上依然是在用二維表的模式在對真實世界的業務場景進行資料建 模, 依然會在處理海量、動態資料、複雜、深度查詢時出現嚴重的效能問題,依然會受到SQL關係型建模與查詢僵化與淺層缺陷的限制。

我們認為 智慧化時代的核心技術一定是可以進行高維資料建模,處理高維資料關聯關係的圖資料庫(圖計算與儲存引擎),而低維的SQL型別的資料庫註定會逐步消亡。

這一結論從資料庫的全球國際標準只有SQL(結構化查詢語言)與GQL(圖查詢語言)兩大標準即可看出,前者自1983年至今已經歷經40年滄桑,而後者將會在2023年推出首個國際版標準。

舉個具體的例子,在銀行業中的各種指標計算與歸因分析,會涉及全行明細級資料、分行、條線、客群、客戶經理、集團、供應鏈、指標子項、客戶賬戶資訊等多個維度的綜合計算。

用 SQL 和關係型資料庫來計算的複雜度是個天文數字(多表關聯會導致 “笛卡爾積”現象 ,計算複雜度指數級增加,進而時耗巨大,導致無法在有限資源與時間內完成計算);而用圖計算來建模和實現,是加和而非乘積的關係,計算複雜度指數級降低——與RDBMS相比有著指數級的效能優勢。

換言之,用 SQL 來實現,會耗費大量的計算、儲存資源,並且效率非常低下,任何複雜一點的指標計量或歸因分析都無法完成,但用圖計算來實現,可以做到實時,並且耗費較少的硬體資源—— 更低的 TCO,更高的 ROI,這也是圖資料庫的顛覆性優勢之一——高效能、高性價比(以及靈活性與白盒化)。

圖3:關係型資料庫(數倉、數湖) 中多表連線導致的笛卡爾積問題

知名資訊諮詢公司Gartner在2019-2021年間關於資料與分析科技(Data & Analytics Technology Trends)的幾份報告中,明確地提出了圖分析(Graph Analytics)作為十大核心科技發展趨勢之一,且其所代表的細分市場會以年複合增長率100%的速度持續增長,預計到2025年,80%的商務智慧、商業決策(BI)的創新會通過圖分析與計算(即圖資料庫系統)來實現。

圖4:Garther報告

3

進入”圖“時代

很多我們熟知的科技公司,諸如臉書(Facebook)、Google、推特(Twitter)、領英(Linkedln)等國際巨頭科技公司,其起家的祕密正是源於圖技術,還有一些金融服務公司,例如高盛(Goldman Sachs)、美國銀行(Bank of America)、BlackRock(黑石)、貝寶(Paypal)等的核心技術產品正是構建在圖計算與圖資料庫框架之上。

究其根本是因為 圖的核心競爭力更有利於助力企業進行陣列資產管理、資料治理、資料分析,並實現真正意義的資料智慧——圖技術能以更高效、深度、準確、白盒化的方式揭示出資料的內部關聯。

圖資料庫在傳統意義上被歸類為NoSQL資料庫的一種(儘管這並不準確,如果從資料庫標準的維度看,過去40年資料的發展只有2套標準,一套是SQL,另一套是GQL,即圖查詢語言,僅此一條就可以佐證圖資料庫會成為未來的主流資料庫,而SQL終將消亡。圖資料庫終將獨立成團,這是後話。)

其它的非關係型資料庫在廣義上還包含例如列資料庫、寬表資料庫、鍵值庫(因其架構與介面簡單,嚴格意義上並不算完整的資料庫)、文件資料庫、時序資料庫等。NoSQL 資料庫一般而言被分為以下幾大類,每一類都有其各自的特性:

• 鍵值(Key-Value) : 效能和簡易性

• 寬列(Wide-Column):體量

• 文件(Document):資料多樣性

• 時序(Time Series):IOT 資料、時序優先效能

• 圖(Graph) : 高維建模+深資料+快資料

圖5:NOSQL類資料庫儲存結構的進化

在眾多 NoSQL 類資料庫中,最好的用來詮釋資料建模靈活性—— 無模式 (Schema-Free 或 Demi-Schema)的例子就是圖資料庫——除了點和邊這兩種基礎資料結構以外,圖資料庫不需要任何預先定義的模式或表結構。

這種極度簡化的理念恰恰和人類如何思考以及儲存資訊有著很大的相似性 ——人們通常並不在腦海中設定二維的、僵化的表結構, 因為人腦是可以通過對實體與關係構建的高維、動態的資料模型中“隨機應變”(觸類旁通、舉一反三、關聯、發散、聚合、下鑽)的。

圖6:關係網路圖譜(區域性

上圖展示的是一個典型的 關係圖譜(網路圖) ,其是在一張大圖上進行實時路徑查詢時所動態生成的一張子圖。綠色的節點為初始頂點,紫色的節點為終止頂點,兩者間有15層(跳)間隔,並有上100條關聯路徑,每條路徑上有不同型別的邊連線著相鄰的兩兩的頂點,其中不同型別(屬性)的邊以不同的色彩來渲染,以表達不同型別的關聯關係。

最近 10 幾年以來,全球 IT 市場上湧現出了 10 幾家圖資料庫服務商,從傳統的、非常學術化的 RDF(資源定義框架)模式圖, 到基於原生圖理念構建的LPG(標籤屬性圖) 或 PG(屬性圖) 圖資料庫,還有那些在傳統 SQL 資料庫上或 NoSQL 資料庫上搭建的各種非原生圖。

目前業界圖資料庫的架構分為三類:

  • 第一類是基於傳統關係型資料庫的圖計算,代表產品諸如 Cosmos DB、Oracle PGX等;

  • 第二類是基於 Hadoop/Spark 或 NoSQL 儲存引擎的圖資料庫, 代表產品諸如星環、創鄰、JanusGraph、Nebula等;

  • 第三類則是原生圖資料庫流派,例如Neo4j、TigerGraph、Ultipa,它們區別於前兩類的地方在於計算與儲存的原生性(Native Graph)。

從嚴格意義的圖資料庫產品效能進化的角度來看,作為前沿科技的圖計算、圖資料庫技術在近十年亦歷經了四代演進:

  • 第一代是諸如基於非原生圖架構的JanusGraph(其儲存引擎基於第三方NoSQL構建,效能瓶頸明顯,時效性差);

  • 第二代的代表玩家是最早的原生圖資料庫Neo4j(缺點在於基於Java架構,效能瓶頸明顯,難以在大規模、複雜、實時性場景中得到推廣);

  • 第三代是並行圖資料庫TigerGraph(主要挑戰在於使用門檻高,面向資料科學家,二次開發困難,且基於“單邊圖”理念構建,圖建模不靈活);

  • 最新一代就是第四代圖資料庫,代表玩家如Ultipa Graph——具備高密度併發、 融合HTAP+MPP架構、建模靈活的實時圖資料庫了。

圖7:圖資料庫的優勢、架構型別以及產品進化

圖資料庫的發展要解決的並不是數倉、湖倉系統所鼓吹的無限的資料儲存,而是要 解決複雜查詢、深度查詢的計算時效性的問題!

因此,高效能的圖資料庫一定是有限解決算力的問題,即具備 高算力 ,讓計算引擎成為一等公民(注:在傳統的RDBMS資料庫中,計算是附著於儲存的二等公民,試想每次查詢都需要大量訪問硬碟讀取資料的查詢,效率必然是極低的!)。

圖資料庫賦能的業務場景也必然和傳統資料庫、大資料框架有所不同,無論是風控反欺詐、智慧營銷與推薦,還是實時決策、智慧分析(Smart BI/Analytics)、資料治理等場景。

「其他文章」