
01 | 市場(chǎng)需要圖數(shù)據(jù)庫領(lǐng)域新書
自從開始寫公眾號(hào),成為圖數(shù)據(jù)庫的一個(gè)小小布道者,我就陸續(xù)有收到幾家出版社的邀請(qǐng),寫一本關(guān)于圖數(shù)據(jù)庫的書。我是直接坦然、也坦誠(chéng)的拒絕的。主要是因?yàn)樵趶臉I(yè)的幾年,寫的一系列文章,大部分都是《圖數(shù)據(jù)庫》(人郵版)的讀書筆記,其余的則是一些行業(yè)的思考和落地。而這些內(nèi)容,是遠(yuǎn)遠(yuǎn)沒有構(gòu)成一個(gè)完整的知識(shí)體系,也遠(yuǎn)遠(yuǎn)達(dá)不到寫書的標(biāo)準(zhǔn)的。
但是確實(shí),出版社和編輯的嗅覺是非常敏銳的,隨著圖技術(shù)的興起,市場(chǎng)上是迫切的需要一本書,來更全面、完全的介紹圖數(shù)據(jù)庫相關(guān)技術(shù)、架構(gòu)、原理和應(yīng)用等等。
我很開心收到了嬴圖團(tuán)隊(duì)(Ultipa)的贈(zèng)書,還有Ricky 孫總的簽名。首先快速翻看了目錄,相比于人郵版(由美國(guó)作者Ian Robinson等人寫的以Neo4j數(shù)據(jù)庫和Cypher查詢語言為例的)《圖數(shù)據(jù)庫》更重概念和入門,這本書從目錄上就能看出滿滿的誠(chéng)意,更加的側(cè)重圖技術(shù)原理和深入,非常適合圖數(shù)據(jù)庫從業(yè)者、或想要深入學(xué)習(xí)圖數(shù)據(jù)庫的讀者。書中從圖的歷史開始,然后進(jìn)入原理和高性能架構(gòu)設(shè)計(jì),再介紹了圖算法和擴(kuò)展性,之后是圖數(shù)據(jù)庫和圖計(jì)算的應(yīng)用,最后以系統(tǒng)優(yōu)化和評(píng)測(cè)結(jié)束。個(gè)人覺得只看目錄,就是一本值得深入學(xué)習(xí)的好書。
02 | 圖數(shù)據(jù)庫就是終極數(shù)據(jù)庫
我很認(rèn)同孫總的一句話:圖最大程度還原了人的思維和思考方式。不管是學(xué)習(xí)、工作、生活中,我們的大腦總是在不經(jīng)意間記錄著大量的數(shù)據(jù)以及數(shù)據(jù)之間的關(guān)系,而思考,就是對(duì)這些數(shù)據(jù)的一種查詢。關(guān)于人類思維,孫總引用了《尚書·大禹謨》中的一個(gè)成語「無遠(yuǎn)弗屆」,意思是沒有思維到不了的地方。如果把大腦類比成圖數(shù)據(jù)庫,那大腦除了存儲(chǔ)能力,也具有超深度的圖關(guān)聯(lián)、圖遍歷、圖搜索的能力。
貼近大腦思維的數(shù)據(jù)庫就是終極數(shù)據(jù)庫么?非也。
我們首先說下數(shù)據(jù)。隨著信息技術(shù)和互聯(lián)網(wǎng)的飛速發(fā)展,我們進(jìn)入了大數(shù)據(jù)時(shí)代。從數(shù)據(jù)驅(qū)動(dòng)、商業(yè)智能,到人工智能,數(shù)據(jù)的價(jià)值被不斷挖掘,并幫助企業(yè)通過數(shù)據(jù)獲得了巨大的經(jīng)濟(jì)利益。在更高層面,數(shù)據(jù)也受到了巨大的重視。2020年4月9日數(shù)據(jù)作為一種新型生產(chǎn)要素寫入文件中,與土地、勞動(dòng)力、資本、技術(shù)等傳統(tǒng)要素并列為要素之一。
數(shù)據(jù)的重要性不言而喻。
本書的主創(chuàng),也是Ultipa 創(chuàng)始人兼CEO 的孫總是一位連續(xù)創(chuàng)業(yè)者,過去二十幾年一直在硅谷和中關(guān)村從事高性能計(jì)算與存儲(chǔ)技術(shù)、產(chǎn)品研發(fā)相關(guān)工作,也是業(yè)界知名高性能計(jì)算與存儲(chǔ)系統(tǒng)專家、大數(shù)據(jù)與云計(jì)算專家。
在書中,孫總回顧了近40年數(shù)據(jù)技術(shù)(包含關(guān)系型數(shù)據(jù)庫和大數(shù)據(jù))的發(fā)展,總結(jié)了其中2個(gè)核心的問題,煙囪系統(tǒng)、淺層計(jì)算。
煙囪系統(tǒng)導(dǎo)致了系統(tǒng)之間通信和數(shù)據(jù)共享的困難。從公司層面,系統(tǒng)不打通就導(dǎo)致無法進(jìn)行全盤決策和分析。近些年,很多企業(yè)重金投入到企業(yè)數(shù)字化轉(zhuǎn)型中,而數(shù)據(jù)是數(shù)字化的基礎(chǔ),數(shù)字化轉(zhuǎn)型的第一步往往都是先進(jìn)行數(shù)據(jù)連接。從研發(fā)層面,任何一個(gè)新的業(yè)務(wù)需求、或者需求的變動(dòng),都需要在數(shù)據(jù)庫層面進(jìn)行一整套復(fù)雜的開發(fā)流程;而關(guān)系型數(shù)據(jù)庫并不適合進(jìn)行大量的連接查詢,大數(shù)據(jù)量的多表查詢經(jīng)常因耗時(shí)過長(zhǎng)、系統(tǒng)資源負(fù)載太多而導(dǎo)致系統(tǒng)崩潰或者查不到結(jié)果。
淺層計(jì)算,是因?yàn)闊o論關(guān)系型數(shù)據(jù)庫,還是后來的大數(shù)據(jù)、數(shù)據(jù)倉庫、數(shù)據(jù)湖都只是在存儲(chǔ)能力和計(jì)算能力的升級(jí),并沒有關(guān)注到數(shù)據(jù)的核心價(jià)值。想要進(jìn)行數(shù)據(jù)價(jià)值的挖掘,不可避免地需要對(duì)業(yè)務(wù)敏感的專業(yè)人員,進(jìn)行大量的驗(yàn)證、計(jì)算,才能得到結(jié)果。而這些基礎(chǔ)設(shè)施和過程,必然帶來了巨大的資源成本、人力成本、時(shí)間成本。
對(duì)此,我深有感受、也深惡痛絕,卻又深感無奈。
而圖數(shù)據(jù)庫,尤其是實(shí)時(shí)圖計(jì)算技術(shù),可以通過對(duì)多源、多維的數(shù)據(jù)進(jìn)行深度的下鉆、關(guān)聯(lián)和歸因分析,通過關(guān)系的挖掘,進(jìn)行深度計(jì)算,充分提高了查詢和計(jì)算的效率,而且打破了系統(tǒng)和數(shù)據(jù)之間的藩籬。
正是因?yàn)閳D數(shù)據(jù)庫可以天然的解決現(xiàn)在數(shù)據(jù)技術(shù)領(lǐng)域的核心問題,對(duì)數(shù)據(jù)的關(guān)聯(lián)、數(shù)據(jù)的價(jià)值進(jìn)行最深層的挖掘,同時(shí)還可以減少業(yè)務(wù)系統(tǒng)復(fù)雜度,實(shí)現(xiàn)資源、人效的提升,所以我才認(rèn)為,也認(rèn)同圖數(shù)據(jù)庫會(huì)是終極數(shù)據(jù)庫(此處不談圖數(shù)據(jù)庫本身面臨的挑戰(zhàn))。
03 | 圖數(shù)據(jù)庫知識(shí)體系構(gòu)建
之前提到我個(gè)人是因?yàn)橹R(shí)體系不健全,所以不敢寫書誤人子弟。那我理想中的圖知識(shí)體系是什么樣的呢?
《圖數(shù)據(jù)庫原理、架構(gòu)與應(yīng)用》一書給出了完美回答。這絕對(duì)不是恭維,而是自己的深刻認(rèn)知。
之前從事圖數(shù)據(jù)庫開發(fā)的時(shí)候,我們的產(chǎn)品架構(gòu)使用了非原生圖,底層存儲(chǔ)依托Cassandra、RocksDB、HBase等存儲(chǔ),而查詢上只是實(shí)現(xiàn)了Tinker Pop的API支持了Gremlin。隨著對(duì)市場(chǎng)和客戶需求的更加了解,我充分認(rèn)識(shí)到其中的一些問題,也越發(fā)地認(rèn)識(shí)到自己的不足。
第一,原生存儲(chǔ)非常必要。非原生的存儲(chǔ),不僅在查詢中需要浪費(fèi)一定的時(shí)間去底層存儲(chǔ)尋找數(shù)據(jù),也可能會(huì)引入一個(gè)無法維護(hù)的系統(tǒng)。這在性能和商業(yè)上都是一個(gè)巨大的缺陷。
第二,圖查詢不是Gremlin。我至今無法忘懷在客戶現(xiàn)場(chǎng)查詢Gremlin的窘迫,Gremlin實(shí)在不是一個(gè)好用的查詢語法。在圖技術(shù)發(fā)展中,更人性化的查詢語言,是充分必要條件。
第三,圖算法不等于圖查詢。圖算法,更貼近一類業(yè)務(wù)需求抽象,常見的例如連通性、社區(qū)識(shí)別等等。這些,我之前關(guān)注甚少,但是只有理解圖算法,才能更好地解決業(yè)務(wù)需求。在書中進(jìn)行了整體的介紹。
第四,可擴(kuò)展性。單機(jī)(或偽分布式)數(shù)據(jù)庫是必然不滿足持續(xù)增長(zhǎng)的業(yè)務(wù)需求的,擴(kuò)展性是圖數(shù)據(jù)庫場(chǎng)景必須也一定要解決好的問題。
第五,圖在真實(shí)場(chǎng)景中的應(yīng)用。如何解決實(shí)際的業(yè)務(wù)問題,問題中用到哪些算法,對(duì)圖數(shù)據(jù)庫的廠商提出哪些更加苛刻的要求和技術(shù)挑戰(zhàn)?只有真實(shí)的需求才能推動(dòng)技術(shù)的不斷進(jìn)步。
這些問題,是我真實(shí)面臨的。如果作為讀者或從業(yè)者的你也認(rèn)同,我非常強(qiáng)烈的建議,可以認(rèn)真讀一讀《圖數(shù)據(jù)庫原理、架構(gòu)與應(yīng)用》這本書。在此我就不做展開了,因?yàn)檫€沒看完。
04 | 寄語
最后引用《荀子·天論》中一句話,與君共勉。
“”君子敬其在己者,而不慕其在天者,是以日進(jìn)也。
(文/王建奎)
鏈接:怎么構(gòu)建自己的圖數(shù)據(jù)庫知識(shí)體系?