對話Neo4j首席科學家Jim Webber:圖資料庫江湖5年後將塵埃落定

qing_yun發表於2021-08-30

最近幾年圖資料庫迎來井噴式發展,根據DB-Engines的追蹤資料,自2013年以來,圖資料庫流行度可謂是一騎絕塵。

今年6月,開源圖資料平臺Neo4j宣佈獲得3.25億美元F輪融資,創造了私營資料庫公司單筆最高融資紀錄,投後估值超過20億美元。市場上有那麼多種資料庫,受歡迎程度擁有一飛沖天之勢的為什麼是圖資料庫?它能解決什麼問題?什麼樣的圖資料庫更有未來?

Neo4j首席科學家Jim Webber

日前,IT168採訪了Neo4j首席科學家Jim Webber,對相關問題進行了探討。

為什麼圖資料庫可以一飛沖天?

作為基礎軟體三大件之一的資料庫,素有“皇冠明珠”的美譽。向下,資料庫充分攫取硬體的效能,對上,它承載著重要的業務應用系統。

一直以來,以Oracle為代表的關係型資料庫是資料庫裡的王者,隨著網際網路、移動網際網路的爆發,業務越來越多元複雜,更多細分的應用場景,對資料庫的效能、擴充套件能力等提出了更高的要求。NoSQL隨之興起,出現了更多強有力的挑戰者。有專家指出NoSQL資料庫中的鍵值資料庫、文件資料庫、時序資料庫、圖資料庫在不同的細分領域定義了不同抽象方式,因為場景更加聚焦,所以獲得了良好效果。關係型資料庫一家獨大的局面,正在一點點消解。

近幾年作為挑戰者之一的圖資料庫發展迅猛,最為直觀的表現是圖資料庫在DB-Engines流行度趨勢裡的飛天姿態,資本不斷伸來橄欖枝,今年除了Neo4j獲得3.25億美元破行業記錄融資外,國內外還有一些圖資料庫廠商也獲得了新一輪融資。

在那麼多新型資料庫中,為什麼是圖資料庫脫穎而出?歸納起來主要有以下幾個方面原因:

一是,圖資料庫滿足了大資料時代的需求。“大資料”每年都在增長,但如今的企業領導者不僅需要管理更大規模的資料,還迫切需要從現有資料中得出深刻見解。正如Seth Godin所說,企業需要摒棄僅僅收集資料點的做法,開始著手建立資料之間的關聯關係。資料點之間的關係甚至比單個點本身更重要。傳統的關聯式資料庫管理系統(RDBMS)並不擅長處理資料之間的關係,那些表狀資料模式和結構難以新增新連線或不同型別連線。而圖資料庫,它應用圖形理論儲存實體之間的關係資訊,其中的圖是一種拓撲圖,以點邊模型來構建整個世界,表述能力強,擅長處理資料之間的關係。

圖資料庫實際上是為大資料技術提供底層支撐,擁有廣泛的應用場景。人是社會關係的總和,關係與相關性在大資料時代更為重要,圖是天生為相關性而生。典型的應用場景如欺詐檢測,透過將問題解構為圖,更容易在現有資料中獲得重要的見解。

在一份流傳甚廣調研報告中,可以看到世界100強在大比例使用圖資料庫,金融、零售、軟體、物流、電信、醫療等行業都在使用圖資料庫。

二是,面向未來智慧時代,圖資料庫大有可為。Neo4j認為,圖和圖資料庫技術管理關聯資料並定義關係。透過應用領域相關知識增強AI的效能,圖技術提供了一種有效的技術手段來實現複雜AI應用程式的開發。比如與領域知識結合的知識圖譜,在多個行業都有落地。

三是,GQL(圖形查詢語言)更便捷,GQL標準化符合資料庫融合的發展大勢。Jim Webber指出SQL在處理圖相關的操作時非常不便,大量的連結產生冗長的查詢語句。他認為NoSQL更像是資料庫發展的一箇中間狀態,解決了傳統資料庫的擴充套件問題,但卻帶來了糟糕的訪問介面即API,開發人員並不喜歡使用,GPL可以解決這些問題。

2019年,隸屬ISO/IEC聯合技術委員會1(負責制定IT標準)的全球諸多國家性標準機構透過了GQL專案提案,GQL是SQL之後的第一個ISO/IEC國際標準資料庫語言專案。GQL高度依賴現有的語言,主要靈感來自Neo4j開發的圖形查詢語言Cypher,“查詢語言標準化是融合的一大趨勢。”Jim Webber指出,2022年相關草案將會面世。

四是,前文所述資本以及各方佈局推動。DB-Engines目前收錄了32家圖資料庫,而在國內,據不完全統計有10幾家圖資料庫產品。入局者既有Neo4j這樣耕耘十多年的專業服務商,也有亞馬遜、微軟等巨頭,還有一批創業新秀。令Jim Webber印象深刻的是亞馬遜AWS在2017年推出圖資料庫Neptune,巨頭的加入再次證明了Neo4j一路堅持的正確性。

值得一提的是,雖然NoSQL的出現正在消解關係型資料庫的霸主地位,但是目前大多數行業的核心繫統依然是關係型資料庫的天下。圖資料庫市場方興未艾,但增速喜人。Markets and Markets預計,到2023年,圖形資料庫市場將從2018年的8.218億美元增至24億美元。Gartner的分析師預計,到2022年,企業圖形處理和圖資料庫將以每年100%的速度增長,到2023年,將促進30%的組織的決策。

亂花漸欲迷人眼

資料庫在企業IT支出中可能算不上大頭,但是由於它承載著重要的業務系統,一旦選定容易產生依賴不會再輕易變動,企業在資料庫選型時會格外謹慎。圖資料庫作為新興的資料庫,且現在市場上可選擇的品牌也不少,可謂是亂花漸欲迷人眼,如何選型?

欲談選型,先講分類。Jim Webber認為,圖資料庫從技術層面可以分為原生圖資料庫和非原生圖資料庫。

原生圖資料庫,是從儲存到邏輯模型、查詢模型和展現全部都是圖。典型代表有Neo4j、TigerGraph、Neptune等;非原生圖資料庫,底層儲存是一種儲存,但是它有一個圖的邏輯層或者圖的表示層,邏輯層上面以圖的方式去運算元據,代表有CosmosDB、JanusGraph、Titan等。

原生圖資料庫和非原生圖資料庫,除了在設計和實現上的區別之外,Jim Webber指出了二者其他的差異,原生圖資料庫,其查詢效能更加可預測,因為它的物理儲存、邏輯、查詢、記憶體,查詢引擎全部是基於圖設計,因此隨著資料量的增長,它可以有一個一致性的查詢效能。

對於非原生的圖資料庫,通常是在邏輯層或者表示層有一箇中間的圖,把圖的操作翻譯成對底層儲存的資料操作需要做很多假設,比如有些圖的邏輯層,它最大便利的層深度為三,那麼在三層以內做了很多限值最佳化,在物理層執行得很好,但是一旦超過三層,其效能便不可預知。此外,因為邏輯層和物理層並不一致,對容錯也是一個很大的挑戰。

按照硬體支援可以把圖資料庫分為兩大類,一類是基於傳統的通用CPU實現的圖資料庫,包括Neo4j、TigerGraph、Neptune等。第二類是使用一些特別的硬體,包括GPU或者是FPGA這樣的特別的CPU,這種處理器特別擅長浮點處理,包括 RedisGraph等。

硬體上的先進性會要求像圖資料庫這樣的產品能夠不斷向前發展,“有能力去利用硬體提供的一些非常強大的計算能力,是未來是一個很重要的趨勢。”Jim Webber指出,而到底哪種硬體架構更加適合於圖資料庫或者圖計算的趨勢,取決於查詢計劃生成器。目前來看,所有基於CPU或者種通用型處理器的查詢生成器,都表現不錯,“這也是之前Oracle之所以如此成功的很重要的一個因素,因為Oracle能夠開發出非常強大的查詢執行引擎。”Jim Webber強調,在圖資料庫領域,查詢執行引擎還有很多工作要做,而Neo4j處於領先地位,因為Neo4j產品採用獨特的模組化架構設計,使得產品能夠很容易擴充套件,特別是能針對不同的硬體的特徵進行最佳化,比如Neo4j最近推出的圖資料科學的一個擴充套件。

面對多種不同的圖資料庫,企業要按需選擇。Jim Webber認為企業使用者在資料庫選型時主要會考慮三個方面:

第一個是效能,資料存進去需要查詢,需要提供足夠好的查詢效能,不管資料的規模如何。

第二個是資料需要安全。資料一旦儲存,寫入之後能夠再讀出來,不能犧牲資料的一致性,或者犧牲資料的可讀取。

第三個是有一個好的使用者社群、技術社群。當今的企業並不想投資或者去研究、學習、採納一種小眾的技術。通常企業更願意去使用一種被廣泛所接受的,有很多人使用的,而且能夠找到很多相關的人才資源學習等資源的技術產品。

Jim Webber強調圖資料庫是一種通用型資料庫,“基本上原本用關聯式資料庫實現的專案或者方案,80%都可以用圖資料庫來實現。”由於文件本身會有一種層次結構,這種層次結構以圖的方式儲存會更加靈活,他認為圖資料庫比文件資料庫更適合儲存文件。

不過Jim Webber也指出了一些不太適用於圖的場景,比如資料中有大量大塊的內容,如音訊、影片等並不適合圖資料庫。此外,資料本身並不需要太複雜的資料結構和資料模式,可以使用鍵值資料庫。

圖資料庫江湖5到6年後塵埃落定

2000年當世界來到新世紀,Neo4j的創始人遇到了傳統關係型資料庫的問題,開始建立第一個Neo4j原型。2007年在Neo4j背後成立了一家位於瑞典的公司,同時在GPL下開放了第一個圖形資料庫Neo4j的原始碼。這開啟了Neo4j的新篇章,從2007年開始就有兩個版本可供公眾使用:企業版和免費的社群版。企業版相比於社群版新增了熱備份、並行圖演算法、LDAP和活動目錄整合、多叢集、更大的圖等。

Neo4j的特點是可以擴充套件到數十億個節點的恆定時間遍歷,靈活的屬性圖模式可以隨著時間的推移而調整,併為JavaScript、.NET、Go和Python等流行程式語言提供驅動。它符合ACID(原子性、一致性、隔離性和耐久性)的要求,在人工智慧方面,它支援在大型資料集上的高效能圖形查詢。

如今的Neo4j已經從瑞典走向全球,成為世界級的圖資料平臺,根據 DB-Engines 排名,Neo4j 是目前最受歡迎的圖資料平臺,可以說Neo4j 是目前使用最廣、商業化最成功的圖資料平臺。

對於正在快速發展的圖資料庫市場,參與者眾多。Jim Webber判斷,未來5到6年後圖資料庫市場的競爭格局會塵埃落定,“未來的5到6年當中可能會形成這麼一種格局,就像當年關聯式資料庫的格局,會有1家領導者者,2~3家的跟隨者,這個期間會有大量的企業關閉,或者一些合併購的發生,那麼這一點我覺得中國和國外是一樣的。”

當下圖資料庫市場有三類參與者,各有千秋。Jim Webber分析,一類如Neo4j 專注於圖資料庫領域耕耘了近20年,產品和技術已經相當成熟,現在專注於讓業務在商業落地方面更加成熟。第二類像微軟、AWS這樣的大型企業,其業務非常成熟,在圖資料庫領域也會有很多競爭力。此外,還有大量的一些小型的或者新創圖資料庫廠商,他們相對比較小,這使其能夠快速進行創新迭代,劣勢是沒那麼容易能夠找到對應的市場和目標客戶。

面對越來越複雜嚴峻的競爭態勢,2018年Neo4j 宣佈從 Neo4j 3.5 版本開始,企業版將僅在商業許可下提供,不再在 GitHub 上提供原始碼。這表明Neo4j 的開源策略從完全開源轉向了OpenCore也即核心開源,70%的資料庫核心的內容功能開源,30%就是面向於企業版,比如說高可用、資料庫運維管理等這些特性都是閉源,那麼對於使用者來說,開發人員仍然可以免費獲得一個獲取開源軟體的使用嘗試,如果他們需要移植到生產環境當中,可以採購企業版。

值得一提的是,這一次圖資料庫市場的盛宴,中外基本處在同一起跑線。Jim Webber坦言,在某些方面中國圖資料庫的研發還比較先進,一是規模大,另外在新硬體的實現方面,中國有製造業和科研的優勢,中國圖資料庫軟體和硬體齊頭並進,共同改進技術。很多資料庫方面一個複雜的問題,以軟體方式解決很麻煩,以硬體實現更為簡單,中國的團隊已經考慮從硬體角度去實現。比如中國的百度、阿里、騰訊、華為這些大廠硬體發展處於領先地位,將GPU、FPGA直接包含在主機板或者記憶體上。

關於GPU以及FPGA,Neo4j也做了很多前沿的佈局。Jim Webber指出,剛剛獲得融資的Neo4j有充足的彈藥,也有技術儲備,不過硬體還處在標準化的過程中,如何去做還需要進一步研究。

Jim Webber介紹,亞太地區是非常活躍的地區,而正在大力發展數字經濟的中國是一個擁有潛力巨大的市場,中國也是Neo4j在整個亞太地區是發展最快的地區。他認為中國企業和國外企業擁有同樣的圖資料庫需求,不過規模更大,需求更為複雜,有大的機遇也有巨大的挑戰和壓力。未來,Neo4j會繼續擴充在中國的團隊,也會和中國的一些巨頭們建立緊密的合作伙伴關係,一起開拓市場。Jim Webber指出:“中國是一個不成功便成仁的市場。”

無論國內市場還是國外市場,圖資料庫領域已經開始了跑馬圈地的戰場廝殺。“我希望看到的是在未來幾年之後,圖資料庫市場穩定之後,剩下的一些公司都是一些有成熟產品,有成功案例的這些公司,是讓大家能夠很滿意的公司,而不是讓大家覺得很尷尬的公司。”Jim Webber告訴IT168。

後記:從一場意外開始

十年前在瑞典的某個會議上,一直研究資料庫的Jim Webber做了關於分散式系統複雜性的演講,會後參加會議的一個瑞典人找到Jim Webber討論資料庫技術,兩人各持己見,他們誰也沒能說服對方,Jim Webber甚至很不禮貌地告訴對方:“你根本就不懂資料庫。”

研究技術的人都比較執著較真,第二天,他又找到Jim Webber,分享他對資料庫的看法,講資料庫應該怎麼設計,尤其是關係型資料庫,會給使用者帶來了很多不必要的複雜性,如果做連線,會有很多的複雜操作,從而影響效能,接著他對Jim Webber宣傳關於圖的概念,那個執著的人便是Neo4j創始人以及現在的CEO Emil Eifrem。

透過與Emil Eifrem的交流,Jim Webber意識到圖可能會是一個巨大的機會,彼時他在ThoughtWorks擔任專業服務總監一職。後來Emil Eifrem向Jim Webber拋來橄欖枝,Jim Webber一開始有些猶豫,圖的前途並不明朗,Neo4j又是一個太新的產品,ThoughtWorks的領導也並不看好,但願意給Jim Webber一個嘗試的機會,Jim Webber可以加入Neo4j嘗試6個月,不行再回來,ThoughtWorks為他保留職位。

一去十多年,身為Neo4j首席科學家的Jim Webber陪伴著Neo4j一路成長,也見證著圖資料庫逐漸繁榮,被各行業廣泛接受。他認為加入Neo4j步入圖資料庫領域是一個意外,在感受到圖的“威力”後,如今他腳步堅定鬥志昂揚。

對從事技術的人而言,只有開始沒有終點,因為創新無止境。像資料庫這樣的基礎軟體行業,人才的重要性永遠排在第一位。Jim Webber坦言國內外優秀的資料庫開發人員都非常短缺,尤其是資料庫核心研發人員更為稀有。面對全球都存在資料庫人才困境,Neo4j是如何解決的?

Jim Webber介紹一般做兩手準備,一方面Neo4j會努力尋找具有很深厚的資料庫開發背景和經驗的開發人員,邀請他們加入公司。另外一方面,對於其他領域的開發人員,雖然沒有資料庫的開發經驗,但是非常渴望能夠加入這個領域,Neo4j也會把他們招攬進來,培養人才。資料庫是一個系統工程,不可能一個人熟悉所有的資料庫裡內容,包括網路、作業系統、容錯,或者查詢執行引擎等,Neo4j透過把軟體模組化,切分成很多子系統,在每個領域去培養不同的開發人員,來保證產品的開發和不斷改進。

Jim Webber特別強調,培養出一個真正優秀的核心資料庫開發人員,需要很長的時間很高的成本,才能讓他們不斷成長起來。這與一些矽谷的高科技企業不同,在那裡可能開發人員每三年、四年要換工作,在Neo4j的開發人員平均都有六年以上在公司的工作經驗,Jim Webber在Neo4j有十多年時間,“優秀的資料庫開發人員實際上需要有相當長一段時間去培養去沉澱。”

一入資料庫深似海,從此浮躁是路人,做時間的朋友,很多問題就不再是問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69925873/viewspace-2789420/,如需轉載,請註明出處,否則將追究法律責任。

相關文章