為什麼需要圖資料庫?這篇文章為你介紹圖資料庫原理-數易軒

2021-01-15 數易軒

網際網路快速發展的今天,日新月異的新技術已經不再稀奇,從20世紀90年代以來,網際網路開始在全球快速發展,數據的支撐成為網際網路發展的基礎之一,關係型資料庫成為近三十年的主要數據環境。隨著網際網路的進一步發展,各行各業的數據量都變的龐大且複雜,傳統關係型資料庫已經不能完全適應如今的行業需求,圖資料庫應運而生。數易軒致力於圖資料庫標註技術服務,為您介紹圖資料庫成為未來首選資料庫的必然理由。

有充分的證據表明圖資料庫將成為2020年代的首選資料庫,圖資料庫從上世紀初就以各種各樣的形式出現了,但與關係型資料庫相比,圖資料庫的速度普遍較慢,工作比較複雜,適用性也比較有限。它們也主要被視為學術資料庫,因為此類資料庫的最早使用案例之一是構建邏輯分析系統,並且由於其學術聯繫,該資料庫在相當長的時間內沒有應用於商業中。

然而,到2014年年中,幾個關鍵性的進展都聚集在一起,使圖資料庫技術得到了第一次的提升。Neo4J是一個早期且仍被廣泛使用的圖資料庫,已經開始獲得足夠的成熟度和滲透性,開始被用於某些類別的數學圖形處理。硬體(通過雲計算)的速度也已經足夠快,可以克服許多關鍵的早期性能挑戰。圖查詢語言(SPARQL)第二版的發布,解決了早期版本帶來的許多問題,包括引入了更新功能,這意味著可以出現一種用於動態添加內容的一致機制。MongoDB和CouchDB等JSON數據存儲的出現,讓人們更加關注非傳統資料庫索引的挑戰,而這也使得在處理連接方面有了很大的優化,這是任何資料庫的核心需求之一,而對於圖資料庫來說尤為重要。

重要的是,一些公司開始嘗試使用圖資料庫來解決他們比較棘手的問題-企業元數據的管理,主數據管理,自然語言處理,知識導航和其他相關問題。然而具有諷刺意味的是,機器學習通常使用數據聚類方法進行文本分析,作為蠻力替代方案,近來,它已逐漸成為幫助構建圖資料庫的另一種機制,其程度是,最新的圖資料庫現在已納入了機器學習算法和工具作為其核心套件的一部分。具有諷刺意味的是,通常使用作為蠻力替代方案的數據聚類方法來進行文本分析的機器學習,最近漸漸成為另一種幫助構建圖資料庫的機制,以至於最新的圖資料庫現在都將機器學習算法和工具作為其核心套件的一部分。

了解圖

最終,圖資料庫越來越多地利用完全出乎意料的發展優勢-圖形處理單元或GPU(那些專門用於創建複雜的三維圖形的專用多核計算機)的強大功能和先進性。這些GPU的工作方式是創建分解為三角形的網格--數百萬甚至數十億個三角形。GPU通過將屬性分配給組成這些網格的點(節點)和線(邊),計算顏色、亮度、邊緣的硬度和柔軟度、位移以及許多其他屬性,並且可以非常非常快地執行此操作,因為他們採用的流水線架構。

事實證明,圖資料庫實際上與圖形處理中使用的網格並沒有太大的區別(實際上它們幾乎相同),特別是從將屬性分配給節點和邊的角度來看。每個節點代表一個概念,每個邊代表一個關係。這意味著,尤其是在21世紀10年代末,圖資料庫供應商越來越多地利用GPU遍歷和比較這些圖上的節點值,從而有效地利用了GPU提供的強大並行功能來增強圖資料庫。雖然更多的傳統CPU可能也會繼續使用,但GPU上的圖資料庫很可能是2020年代真正的典範。

當前,圖資料庫分為兩大類:屬性圖和語義圖。它們在一個關鍵方面有所不同:語義圖將邊視為標識關係的全局命名對象,而屬性圖將邊視為基於周圍節點的唯一事物。這意味著可以將文字屬性(例如日期或字符串)分配給屬性圖中的關係。語義圖形中存在一個類似的屬性,稱為「 reification」(reification),在該屬性中,節點+邊在一起被賦予了一個標識符,但是目前SPARQL尚未從根本上支持此功能。

這種情況很有可能會隨著SPARQL下一個版本的出現而改變,下一個版本可能會在2020年初正式出現,同時還會有一些關於變量謂詞路徑的變化。實際上,這意味著屬性和語義圖資料庫將在未來幾年內合併為一個類別。除此之外,還能看到圖資料庫與NoSQL資料庫的合併(採用JSON或XML風格,或者在某些情況下都採用)。

圖資料庫在本質上比傳統的關係資料庫系統更靈活,因為可以將有關資料庫的元數據視為數據本身,可以以完全相同的方式進行訪問。實際上,您可以使用圖輕鬆表示關係資料庫,因為關係表/列/行/鍵結構本身就是圖的一種形式。直到最近,這種靈活性是以犧牲性能為代價的--但隨著向GPU的轉變,這種性能優勢已經基本消失了。

越來越多的系統也啟用關係填充,以隱藏表格資料庫和圖資料庫之間差異的詳細信息,以便它們可以與現有工具集(例如用於數據分析或可視化的工具集)一起使用,但是隨著完整圖形功能的標準化,新工具將會利用該標準化來利用靈活性和性能,這意味著圖資料庫有潛力在 2030年之前取代 現有的關係市場。

市場狀況

在大約十年前的某個時刻,可能有四個商用資料庫和幾個開源圖資料庫,它們共同服務於一個市場,而這個市場與關係型市場相比是微不足道的。作者記得當時在幾個語義會議上的貿易展覽會上走的時候,有希望的供應商的數量超過了參加者的數量。現在的情況已經不是這樣了,在過去的幾年裡,無論是廠商的數量還是圖資料庫專家的數量都在激增,以至於人們可以討論不同的廠商群體。The Stalwarts

這個群體包括那些從2008年至2012年在語義學核冬天中倖存下來的供應商。他們往往擁有最長的跟蹤記錄,但也傾向於專注推理和SPIN之類的功能,這些功能在大多數情況下都早於SPARQL的第二個版本,儘管它們完全支持該版本。這些產品包括Top Quadrant的Top Braid、Cambridge Semantic的Anzo、OntoText的GraphDB和Franz的Allegrograph等。這些都是不錯的產品,尤其是Top Braid在SHACL(一種數據模式語言)方面的工作,也一直在這個領域保持創新。它們也往往具有更廣泛的數據治理策略,使其成為在企業級實施傳統語義的好產品。

該群體包含那些將三重存儲(圖資料庫)與其他集成資料庫系統(例如JSON或XML存儲)或搜尋引擎結合在一起的供應商。在很多方面,這些都是對現有索引技術進行再利用(或建立在現有索引技術之上)的過渡性系統,在2012年到2017年左右的時間裡,大部分都進入了圖空間。其中包括MarkLogic,它提供對JSON和XML文檔和語義的支持,以及Stardog,它建立在JSON的基礎上,但結合了複雜的索引技術。當你處於混合數據體系中時,混合系統很好用,不過它們的價格往往也比其他圖資料庫高。

總體而言,該團隊只是幾年前才出現的力量,包括Pool Party,BlazeGraph(及其最新的化身為Amazon Neptune),Tiger Graph和Data.World等參與者。儘管Neo4j已經存在了一段時間,但作者也將其歸入此類。在大多數情況下,這些產品都把圖資料庫作為屬性圖資料庫來關注,在某些情況下,還拋棄了推理等功能,而隨著SPARQL實現更廣泛的應用,這些功能已經變得越來越無關緊要。

這些是諸如SmartLogic(或最近收購的Capsenta)之類的公司,這些公司通常建立在多個三重存儲的基礎上(並與之合作)。它們通常為數據建模、文檔實體豐富、高速提取和集成可視化提供支持。有明顯的跡象表明,隨著市場變得越來越擁擠,支持者很可能會與某一廠商建立戰略合作關係,或者直接合併(作者懷疑MarkLogic和SmartLogic尤其有這個趨勢)。

知識庫是最大的增長領域

有很多因素都表明,圖資料庫在未來十年將獲得相當大的發展。首先是知識庫的興起,可以將其視為數據百科全書。例如,考慮一個幻想棒球聯盟。他們通常會嘗試跟蹤許多不同類別的事情:球員,位置,球隊,賽季。隨著類的數量增加,創建接口來查看每個類中的各種項目的能力下降,這些應用程式的複雜性也在增加。傳統的資料庫應用在這一點上就會顯得力不從心,因為它們一般只試圖提供所涉及的數據空間的一部分的特定視圖。

知識庫採用另一種方法,通常被稱為無上下文設計,其中系統中的每個對象都被視為圖中的一個節點。在知識庫中,每個節點都有一組最少的屬性,使其可以顯示在圖中。例如在棒球卡片中,其中涉及的卡片可能是投手,接球手,球隊,擊球手等等,但是所有這些都需要有標題,圖片和其他一些基本屬性,以便可以列印出卡片。對於熟悉該術語的人來說,上下文無關的方法在概念上類似於Web使用REST的方法,因為請求或發布的數據的角色通常無關緊要,只是這個數據和過程遵循一定的基本協議。但是,細節確實很重要,並且通常會以純層次結構難以管理的方式重疊。例如,對於棒球聯盟來說,信息往往是分層組織的,在某一賽季中,一支球隊有一個球員名單,每個球員都擁有一個角色(投手、捕手、遊擊手等)。

當你開始考慮賽季間的交易和類似的行動時,這就變得更加複雜了,也變得更加複雜了,因為與投手相關的屬性(每場比賽的投球數、三振次數等)與作為擊球手的位置球員的屬性(賺取的分數、保送次數等)是不同的--但只有在國家聯盟中,因為美國聯盟允許投手擊球,但國家聯盟不允許。對這種邏輯進行建模,會對典型的資料庫造成很大的限制,但實際上是知識庫的優勢所在,因為屬性本身就是可以作為數據訪問的資源,而且屬性本身可以有元數據。此功能使您可以通過導航有效地構建查詢,而不是熟悉查詢語言。此外,您可以創建其他過濾器(通常在語義上稱為約束),使您可以查找2018賽季西雅圖水手隊的投手所有球員,按每場比賽的平均投球次數排序,而無需了解資料庫表或數據結構,甚至不需要編寫一行代碼。

這種靈活性還擴展到創建數據服務的能力。例如,藉助知識庫,可以將上述查詢直接轉換為URL,該URL將以機器可讀(JSON或XML)格式返回一個數據源,給出其他應用程式可以使用的當前數據,而不必讓程式設計師編寫一個新的數據API。

知識庫在整合企業數據方面可能有很長的路要走,同時讓組織繼續構建內部和面向公眾的應用程式。 此外,較新的技術也使得提供屬性級別的安全性成為可能,即只有擁有相關訪問級別的用戶才能看到或瀏覽特定的屬性。機器學習系統也使對知識庫提取的自動分類變得更加容易,並且隨著時間的流逝,隨著ML +語義學的好處得到更好的證明,這種情況只會越來越普遍。其他的應用,包括推理分析系統、風險檢測和緩解、最小路徑分析等,所有這些帶有語義成分的應用,都可能會在知識庫的成功基礎上發展起來。它們需要對數據進行某種不同的組織,但隨著數據聯合也變得越來越普遍,這是一種進化性的變化,而不是革命性的變化。

最後要注意的一點-最近的語義學最激動人心的領域之一是與屬性圖技術實現統一的潛力,其中斷言(事實陳述)本身被視為資源。早期使用RDF的工作支持此功能,但是由於性能原因,(最現有的)知識圖所使用的SPARQL查詢語言規範既未實現它,也未實現變量屬性路徑。

作者預計W3C(擁有語義技術的大多數核心專利)提出的SPARQL 2.0建議可能即將出現,但最早可能要到2022年才能成為現實。如果是這樣,結果可能是SPARQL和Gremlin和/或Tinker Pop的某種合成形式。

總結

考慮到所有這些,採用語義的路線圖變得越來越清晰。至少在初期,語義數據系統將更多地圍繞知識庫而不是推理分析,同時將機器學習和自動分類的最新進展納入其中。數據領域的大佬們現在都在密切關注這個領域,隨著戰略合作關係導致徹底合併,A級企業開始搶購可行的技術而不是在內部建立技術,未來兩年內出現這種情況的可能性很大(尤其是在經濟下滑時有可能出現不良銷售的情況下)。同時,隨著標準的制定,人們期望看到語義資料庫和屬性資料庫的重新合併,更有可能的是W3C為實現這種統一採取一些正式行動。

相關焦點

  • 數易軒:圖資料庫的定義是什麼?圖資料庫如何設計
    圖資料庫是一個使用圖結構進行語義查詢的非關係型資料庫,通過使用節點、邊和屬性這三個元素來表示和儲存數據。圖資料庫作為新型NoSQL資料庫的代表,受到了諸多企業的關注,數易軒致力於圖資料庫技術服務,為您介紹圖資料庫的定義和原理。
  • 我們為什麼需要圖資料庫?
    傳統的關係型資料庫,在處理複雜數據關係運算上表現很差,隨著數據量和深度的增加,關係型資料庫無法在有效的時間內計算出結果。所以,為了更好的利用數據間的連接,企業需要一種——將關係信息存儲為實體、靈活拓展數據模型的資料庫技術,這項技術就是圖資料庫(Graph Database)。
  • 圖資料庫和關係型資料庫的比較
    為什麼要使用圖形資料庫,或者更具體地說是Neo4j作為我們資料庫選擇?人們在邏輯上通常很自然使用類似圖的結構來模擬或描述它們的特定問題域。權限控制就是一個例子。在許多企業應用程式中。您通常擁有用戶表,角色表和資源表。然後你會使用多對多關係表來將用戶映射到對應的角色和角色資源。
  • 《人工智慧之圖資料庫》報告重磅發布
    2 圖資料庫的相關技術 報告對圖數據模型、圖數據的存儲與管理、面向圖數據的查詢語言等相關技術進行了詳細介紹,還搜集整理了圖資料庫的若干資源並對資料庫的一些基本屬性進行了對比。
  • 這個生信神器助你文章秒出圖——miRNA與基因互作資料庫
    但是,尚沒有基於多組學的資料庫能夠證明對激活與抑制以及正常與癌症狀況之間相互作用模式轉換的系統數據。今天我們為大家推薦一個資料庫miRactDB(miRNA與基因相互作用的資料庫),該資料庫是可以提供用於注釋miRNA與基因關係的通用平臺。
  • 百度安全開源大規模圖資料庫HugeGraph
    近年來百度安全憑著雄厚的技術實力自主研發了全面支持Apache TinkerPop 3框架和Gremlin圖查詢語言的大型分布式圖資料庫HugeGraph,與Neo4j、TitanDB等傳統圖資料庫相比有很多獨特的優勢。今天我們很高興的宣布HugeGraph開源,更好的為網絡安全、機器學習等社區服務。
  • 為什麼 HugePages 可以提升資料庫性能
    為什麼這麼設計(Why’s THE Design)是一系列關於計算機領域中程序設計決策的文章,我們在這個系列的每一篇文章中都會提出一個具體的問題並從不同的角度討論這種設計的優缺點、對具體實現造成的影響。如果你有想要了解的問題,可以在文章下面留言。
  • 一個預後六張圖,這個寶藏資料庫,真捨不得拿出來!
    因此,雖然已有兩個資料庫,即ITTACA資料庫和REMBRANDT 資料庫,同樣提供了生存分析功能,但是需要用戶自定義分組標準,這對於無研究背景知識的使用者毫無疑問是個盲區,按經驗選用中位數/三分位數/四分位數進行分組可能並不一定就能反應一個基因真實的生物學功能。
  • 最全的資料庫分類及實例介紹
    下面本文將簡單介紹一下各種類型的數據。關係型資料庫: 這種類型的資料庫是最古老的資料庫類型,關係型資料庫模型是把複雜的數據結構歸結為簡單的二元關係(即二維表格形式), 如圖2是一個二維表的實例。通常該表第一行為欄位名稱,描述該欄位的作用,下面是具體的數據。在定義該表時需要指定欄位的名稱及類型。
  • 「技術文章」《Python 資料庫 GUI CGI編程》
    1.寫在前邊上一次,我們介紹了Python的入門的文章,今天我們就來介紹下Python的資料庫,GUI, CGI的編程,以及Python 2.x 與Python 3.x的區別。2.連接資料庫 Python 標準資料庫接口為 Python DB-API,MySQLdb 是用於Python連結Mysql資料庫的接口。
  • 三方法解決SQL Server與雲端資料庫連接
    【IT168專稿】SQL Azure 是構建在SQL Server技術之上的關係型雲端資料庫服務,為用戶提供了自主管理、高可用性、高可擴展的資料庫服務。用戶可以使用現有的T-SQL和關係型資料庫知識與工具,在雲端方便地構建自己的資料庫服務。
  • 字節跳動的圖資料庫研發實踐
    針對上述圖狀結構數據,ByteGraph 支持有向屬性圖數據模型,支持 Gremlin 查詢語言,支持靈活豐富的寫入和查詢接口,讀寫吞吐可擴展到千萬 QPS,延遲毫秒級。目前,ByteGraph 支持了頭條、抖音、 TikTok、西瓜、火山等幾乎字節跳動全部產品線,遍布全球機房。在這篇文章中,將從適用場景、內部架構、關鍵問題分析幾個方面作深入介紹。
  • 理解資料庫與數據模型的概念
    本篇首先引入編程微課項目作為資料庫的應用案例,通過對項目功能及涉及的相關數據的介紹,讓讀者對資料庫的應用有一個感性認識,然後重點講述關係資料庫的理論基礎知識。通過本篇的學習,讀者應該能掌握以下內容:● 編程微課的主要功能● 資料庫的基本原理及數據模型● 關係資料庫1、編程微課編程微課項目使用圖文,語言,視頻等方式進行內容教學,再附加各種訓練題,幫助練習和鞏固知識。微課內容來自於編程達人,編程達人撰寫課程內容,通過編程微課平臺為編程愛好者提供課程內容,獲得收益。
  • OSDI重磅 螞蟻金服實時金融級分布式圖資料庫
    圖資料庫「明星」——螞蟻金服GeaBase眾所周知,近十年來,圖資料庫一直是業界關注的焦點,未來的前景也被普遍看好,其最大優點是通過節點和關聯的數據模型去快速解決複雜的關係問題。毫不誇張地說,圖資料庫是為當前豐富、快速變化的網際網路應用場景而生的,因為它非常善於處理大量的、複雜的、關聯的、多變的網狀數據,而且具備奇高的效率。由於圖資料庫擁有獨一無二的特性,因此它非常適合在社交網絡、實時推薦、銀行交易環路、金融徵信系統等領域應用。
  • 國外臨床公開資料庫大盤點:未被挖掘的小眾非生信資料庫有哪些?
    近幾年應用公開的資料庫發生信文章蔚然成風,但入門門檻稍高,需要掌握遺傳學知識和計算機語言。今天,筆者想通過這篇文章總結一些國外的非生信資料庫,為大家提供另一種選擇。1.獲取數據的前提:-必須認真說明有獲得數據的研究需要。-你必須在 NIH 承認的研究機構內,且這個機構授權你這麼做。2.
  • 腫瘤全面分析資料庫:oncomine使用介紹
    今天就給大家介紹一個匯總了多個癌種,多個數據集的綜合性分析基因表達和臨床相關性的資料庫:oncomine(https://www.oncomine.org/)。    由於這個資料庫還是很重要使用起來也是很簡單的,所以這裡就從註冊帳號開始,很詳細的介紹一下這個資料庫的功能吧。
  • 初識分布式圖資料庫 Nebula Graph 2.0 Query Engine
    摘要:本文主要介紹 Query 層的整體結構,並通過一條 nGQL 語句來介紹其通過 Query 層的四個主要模塊的流程。_dst,則在校驗 OVER 子句時需要查詢 Schema 將 * 展開為所有的邊,假如 Schema 中只有 like 和 serve 兩條邊時,該語句會展開為:GO FROM "Tim" OVER serve, like YIELD like._dst, like.likeness, serve.
  • 什麼是資料庫?資料庫的體系結構是如何劃分
    本篇將介紹的是資料庫的體系結構是如何劃分,有興趣的朋友可以了解一下!什麼是資料庫?可以從它的字面意思理解,資料庫是數據的集合。比如:我們在筆記本上把圖片或者文檔、電影等資料放到一個文件夾下,那麼這個文件夾就是一個資料庫。那麼如果運用在系統開發的時候呢?它所存儲的便是應用系統內的數據,數據的重要性不言而喻。資料庫的概念需要掌握才能更好的使用和發揮資料庫存儲數據的功能。
  • 腫瘤經典資料庫Oncomine,腫瘤研究的萬金油,看這篇就夠了
    因為它和咱們之前討論過的TCGA一樣,都是腫瘤領域應用較廣的資料庫。不過Oncomine和TCGA相比的優勢就是,它除了數據,還提供了一些簡潔易操作的分析工具,如差異表達分析、共表達分析等,分析後可以直接出圖用在文章裡。另外它還整合了TCGA和GEO的部分數據。缺點是,免費版的數據不能下載,收費又天價。不過辦法還是有的,先賣個關子。
  • UniProt 資料庫介紹
    UniProt 是目前資源最豐富、使用頻率最高的蛋白序列資料庫,今天,我們就介紹下 UniProt 資料庫及其使用。1、資料庫介紹UniProt (The Universal Protein Resource) 是信息最豐富、資源最廣的蛋白質序列資料庫,整合 Swiss-Prot、TrEMBL 和 PIR 三大資料庫的數據而成。