來源:北大青鳥總部 2023年07月11日 08:44
隨著中國互聯網的發展,互聯網開始由web端訪問逐漸演變為智能手機端、智能終端,而產生的數據從簡單的結構化二維數據逐漸演變成視頻音頻圖片的非結構化數據、專屬網絡的JSON&XML半結構化數據,對于互聯網的運營方式也從不需要運營逐漸演變成打折優惠券返現的逐步運營、社群運營&精準投放的精細化運營,除了本人相關的年齡地點愛好信息之外,我們開始關注和本人相關的一度物品信息、二度物品信息,和本人相關的一度人脈、二度人脈、三度人脈,將對應的信息、對應人相關的信息推薦給本人,這就是新一代互聯網特色。
互聯網1.0時代,信息是單項傳遞,網站做信息發布告訴網民,網民被動接受;互聯網2.0時代,信息是雙向傳遞,網民和網站,網站和網站,網站和網民之間進行信息交流與傳遞;互聯網3.0時代,信息是全方位互動,網絡和網民在生活工作的方方面面全鏈接起來,建立以人為中心的與整個世界的信息交流與傳遞,我們現在正處于互聯網3.0時代。所謂工欲善其事,必先利其器,在新一代互聯網中,必要要有對應的工具進行支撐,在技術領域除了人工智能、大數據、云計算、5G等技術之外,還有一項比較小眾但卻越來越流行的技術,這便是圖數據庫技術。
圖數據庫是在2010年開始逐步發展起來的技術,由于涌入互聯網的網民和企業越來越多,網絡的運營開始走向精細化,Facebook、Linked等社交網絡公司開始研究如何更好更高效的社交,從而帶動了圖計算的大規模應用。圖數據庫,并非望文生義,存儲圖的數據庫。圖,是一種數據結構,在一個圖中,包含節點和邊,由多個節點、多條邊鏈接起來,在圖數據庫中,包含實體、關系、屬性、標簽四個元素。
我們通過一個實際的case來理解下圖這種數據結構。比如在當當這樣的在線書籍售賣網站中,John,年齡27歲,他讀過作者是IanRobinson.Jim Webber的書籍GraphDatabase,他還有朋友Sally,年齡32歲,也讀過這本書。在圖數據中,我們可以創造三個實體,John、Sally、GraphDataBase,每個實體由自己的標簽和屬性,比如John實體中,標簽是人Person,屬性是姓名John和年齡32,在GraphDatabase實體中,標簽是書Book,屬性是書名GraphDatabase和作者IanRobinson.JimWebber,實體與實體的關系包含朋友、是否閱讀,比如John和Sally從2013年9月1日開始是朋友,Sally在2013年9月2日讀過GraphDataBase這本書。
關于人和書的圖譜就建立起來了,在商品推薦中,我們可以通過朋友這層關系,給Sally推薦John喜歡的書籍,也可以通過書這層關系給Sally推薦GraphDataBase類似的數據。怎么樣?是不是很符合互聯網3.0時代的特色呀?逛淘寶時給你推薦類似商品的邏輯、刷抖音時給你推薦類似視頻的邏輯也大抵一樣喔。

圖數據庫應用起來很簡單,它的使用也很簡單呢。很多朋友可能認為這是一門新的技術,又要學習新的語法了,實際上它的語言和SQL差不多,使用思路和SQL也是差不多的。
比如在剛剛的Case中,我們使用下面的這些方法就可以去創建一個圖數據庫了。比如Create(節點:標簽(屬性))這個語法就可以來創建Sally這個Person類型的節點,節點中name屬性為Sally,Age屬性為32,CREATE{sally:Person{name:’Sally’,age:32}}

在圖數據中,比如我們想獲取所有的人信息、按姓名順序獲取最靠前的十個人信息,并返回姓名和年齡,使用下面的語法就可以實現,我們來看看使用最常用的SQL語法和圖數據庫語法之間的差別。

圖數據庫的技術結構包含三層,從上往下可分為接口層、計算層、存儲層。在實際使用中可以作為底層存儲引擎,也可以作為底層處理引擎使用,還可以提供接口和SDK供應用程序使用。
在對下場景中,所謂底層存儲,它包含原生圖存儲和非原生圖存儲兩種模式,原生圖存儲指的是優化過的數據,直接可以存儲圖數據,非原生圖數據存儲,指的是把圖數據序列化,保存在關系型數據庫或其它數據庫當中。所謂計算引擎,指的是通過全局掃描和批處理大規模信息。在上場景中,對于使用Java語言開發的業務,使用JDBC方式鏈接圖數據庫就可以進行API調用使用了,此外也可以接入SDK,通過庫函數調用圖數據庫的接口。

介紹完圖數據庫的使用后,我們接著介紹它的分類。圖數據庫其實也是Nosql數據庫中的一類,Nosql中除了有鍵值數據庫Redis、列式數據庫Hbase、文檔數據庫MongoDB,還有圖數據庫Neo4j。圖數據庫用于存儲關系,解決了關系型數據中關系類數據查詢復雜、緩慢的特點,將查詢速度、查詢性能提升了上百倍。
隨著互聯網3.0時代的快速發展,圖數據量的速度加快,對于圖數據庫的關注程度也在不斷提高。在人工智能領域的知識圖譜便可以以圖數據庫為依托呈現復雜的人與人的關系;在電信金融證券領域,利用圖數據庫可以實現風險控制、反欺詐;在社交網絡、電商購物、搜索引擎領域,利于圖數據庫可以實現商品信息的推薦。可以說,新一代互聯網中,圖數據庫必定是存儲、關聯、利用數據最高效的方式。