圖資料庫的類別有哪些?數易軒解讀:圖資料庫分類與原理

2020-12-17 數易軒

圖資料庫作為新興NoSQL資料庫的代表,可以分為四種類型。圖資料庫應用廣泛,無論是網際網路行業還是傳統的金融、地產、醫療等行業,都可以通過圖資料庫的應用進一步提升企業效率。數易軒致力於圖資料庫技術服務,為您介紹圖資料庫的四個分類。

01 圖存儲和圖處理

通常,我們可以根據圖資料庫底層存儲模式和處理方式兩個維度對產品進行分類,所以在了解圖資料庫分類之前,首先解釋一下這兩個維度的含義。

1 存儲方式維度

原生(Native)圖存儲:數據存儲模式專門為存儲和處理圖而設計優化,可支持各類圖算法的快速遍歷。

非原生(Non-Native)圖存儲:採用關係資料庫、面向對象資料庫或其它通用數據存儲策略存儲數據,未專門優化存儲方式。

2 處理方式維度

原生圖處理:採用免索引鄰接(index-free adjacency)機制,通過指針專門保存節點之間的指向關係,每個節點都會維護對相鄰節點的引用,表現為相鄰節點的微索引,而非全局索引,因此圖遍歷只和搜索圖的數量有關,與整體規模無關,是高性能圖遍歷、查詢和寫入的關鍵。

非原生圖處理:不採用免索引鄰接機制保存節點之間的關係。

02四類圖資料庫

基於底層存儲模式和處理方式兩個維度,我們可以將圖資料庫產品劃分為四個分類。

2.1 存儲與處理均為原生

針對圖的存儲和管理特點,這類圖資料庫的數據結構經過專門的設計和優化;通常採用免索引鄰接機制,邏輯上的關聯節點在資料庫中存在物理的「指針」指向彼此,從而使數據讀寫和索引性能顯著提升。能充分體現圖資料庫實時處理關係的優越性,可謂之「真」圖資料庫。這種圖資料庫也是主流圖資料庫廠商所採用的技術,代表產品包括Neo4j、OrientDB、TigerGraph等,應用廣泛。

2.2 存儲原生處理非原生

此種圖資料庫通常不是採用屬性圖數據模型,而是採用RDF三元組或者超圖格式存儲圖數據,主要用於學術研究,面向語義分析、機器學習等專門領域。代表產品有AllegroGraph等。

AllegroGraph採用了文檔和圖技術相結合的混合數據模型,主要用於處理以RDF為中心的語義網應用,在讀寫和查詢RDF三元組數據時具有較高性能。

2.3 存儲非原生處理原生

此類圖資料庫採用HBase、Bigtable、Cassandra、關係型資料庫等方式存儲圖數據,通過在內存中將數據轉換為圖結構實現圖遍歷等算法,通常情況下,其多度查詢時的性能劣於存儲與處理均原生的資料庫,大多數開源圖資料庫均屬於此種類型。由於Hadoop技術的流行,採用了Hbase等分布式存儲的圖資料庫的學習成本相對較低,這是其在開源產品中更為常見的一個原因。同時,由於利用了分布式存儲方式,其存儲容量比較容易實現水平擴展,但由於其圖計算引擎本身並沒有實現分布式,因此計算性能仍難以通過資源水平擴展實現提升。代表產品有JanusGraph。

JanusGraph源自Titan圖資料庫,是一種採用Java開發的開源分布式圖資料庫,支持ACID和最終一致性,可以用於OLTP。JanusGraph使用HBase、 Cassandra、或者Oracle BDB作為數據存儲,支持與Apache TinkerPop進行原生集成,採用Gremlin圖查詢語言作為其標準語法。其模塊化架構使得它可以廣泛地與各類存儲、索引和客戶端技術交互操作,例如與Spark、Giraph、Hadoop等大數據平臺ETL集成,通過ElasticSearch、Solr、Lucene進行全文檢索,可以通過Cytoscape、Graphexp以及TinkerPop的Gephi插件等工具實現圖數據可視化等。

2.4 存儲與處理均非原生

此類圖資料庫通常更類似於在應用層面實現了圖算法的應用系統,例如FlockDB,是Twitter自研的一類客戶關係管理系統,對於其是否屬於真正的圖資料庫尚有爭議。其採用MySQL存儲數據,僅支持一度關係查詢,不對圖結構進行遍歷。目前版本更新處於停滯狀態,應用範圍局限於Twitter。

目前,各種圖資料庫產品百花齊放,也因為數據存儲和處理的方式不同,不同類型的圖資料庫產品特點迥異。所以,在實際工作和研究中,要結合自身實際情況,選擇最適合自己的圖資料庫。

相關焦點

  • 數易軒圖資料庫:你知道資料庫的分類嗎?圖資料庫是什麼
    資料庫發展至今已有三十多年,全球資料庫的廠家多達幾十個,傳統的關係型資料庫雖然仍佔有著很大的市場份額,但越來越多的企業開始接觸圖資料庫這個NoSQL資料庫的行業黑馬。能夠高效地處理複雜、龐大的數據關係。數易軒致力於圖資料庫技術服務,為您介紹資料庫的分類。
  • 數易軒:圖資料庫和各類別的資料庫有什麼關係?
    大數據隨著網際網路的發展已經持續了三十多年,各種類型資料庫百花齊放,每個階段都有其更為實用的資料庫類型。傳統關係型資料庫已經不能完全滿足現代企業龐大複雜的數據關係,圖資料庫應運而生大大解決了這個問題。數易軒致力於圖資料庫技術服務,為您介紹資料庫的幾種分類。
  • 數易軒:圖資料庫的定義是什麼?圖資料庫如何設計
    圖資料庫是一個使用圖結構進行語義查詢的非關係型資料庫,通過使用節點、邊和屬性這三個元素來表示和儲存數據。圖資料庫作為新型NoSQL資料庫的代表,受到了諸多企業的關注,數易軒致力於圖資料庫技術服務,為您介紹圖資料庫的定義和原理。
  • 數易軒解讀:圖資料庫平臺的應用範圍有哪些
    數據大量關聯,需要很複雜的SQL語句才能取得想要的結果;數據規模不斷擴大,導致關聯數據的響應速度越來越慢……數易軒致力於圖資料庫技術服務,為您介紹圖資料庫平臺及其應用場景,也許能通過NoSQL資料庫——圖資料庫解決您的煩惱。
  • 非關係型資料庫的四個分類你知道嗎?數易軒:圖資料庫入門必讀
    傳統關係型資料庫在當今時代已經不能很好地適應各行業龐大複雜的數據關係,NoSQL非關係型資料庫應運而生,其中圖資料庫更是成為非關係型資料庫的一匹黑馬。數易軒致力於圖資料庫技術服務,在這裡為大家介紹四種NoSQL資料庫的類型。
  • 圖資料庫的作用有哪些?圖資料庫怎麼樣?
    圖資料庫怎麼樣你知道圖資料庫是什麼嗎?圖資料庫和傳統概念上的「圖」不一樣,圖資料庫並不是儲存、分析美女帥哥圖片的資料庫,也不能批量PS自拍美顏照片,它和各種格式的圖片視頻沒有直接關係,也不能解決幾何圖形的問題,你問我心理陰影面積有多大?emmm……這麼大數易軒致力於圖資料庫技術服務,為您介紹圖資料庫的功能與作用。
  • MySQL資料庫相關流程圖原理圖
    資料庫相關流程圖/原理圖。MySQL 主從複製原理圖MySQL 主從複製原理是大廠後端的高頻面試題,了解 MySQL 主從複製原理非常有必要。主從複製原理簡言之,就三步曲,如下:主資料庫有個 bin-log 二進位文件,記錄了所有增刪改 SQL 語句(binlog線程);從資料庫把主資料庫的 bin-log 文件的 SQL 語句複製過來(I/O線程);從資料庫的 relay-log 重做日誌文件中再執行一次這些 SQL 語句(SQL 執行線程)。
  • 圖資料庫的定義是什麼你知道嗎?_數易軒圖資料庫
    );圖形資料庫(Graph Database);在NoSQL四種分類中,圖資料庫從最近十年的表現來看已經成為關注度最高,也是發展趨勢最明顯的資料庫類型。四、二度人脈推薦實現及對比相信有一定基礎的小夥伴都可以很輕鬆的實現一個推薦二度人脈的資料庫表設計和代碼實現。資料庫首先有一個用戶表user,用於表示用戶的基本信息,然後一個有一個好友表user_friends,用於表示好友之間的關係。
  • 《資料庫實驗》實驗六:資料庫應用開發
    前言資料庫課程是需要做些相關知識點的資料庫實驗報告的,三橋君根據自己所學所做的資料庫實驗,特地重新整理成教程。這些教程一共有6份,收錄到《資料庫實驗》系列了。一、 實驗目的1、培養學生運用所學課程《資料庫系統原理》的理論知識和技能,深入理解《資料庫系統原理》課程相關的理論知識,學會分析實際問題的能力。2、培養學生掌握用《資料庫系統原理》的知識設計計算機應用課題的思想和方法。
  • Cayley 圖資料庫的簡介及使用
    所謂圖資料庫,它應用圖理論(Graph Theory)可以存儲實體的相關屬性以及它們之間的關係信息。最常見例子就是社會網絡中人與人之間的關係。相比於關係型資料庫(比如MySQL等),圖資料庫更能勝任這方面的任務。
  • 最大的在線天然產物資料庫:Coconut資料庫
    在最近發布的有關天然產物資料庫的綜述中,我們清點了過去20年發布和使用的120多種天然產物資料庫。其中,16%不再在線,40%是商業的,剩下開放的NP資料庫通常專門針對特定類型或缺少注釋。目前,在線開放的NP資料庫中,Super Natural II是最大的資料庫:它主要由可以購買的化合物組成,目前已經沒有更新維護。另一個較大資料庫是NPAtlas,數據有一直增加,但是它只關注微生物的天然產物。
  • 最全的資料庫分類及實例介紹
    資料庫從字面上的理解就是數據的倉庫,其實我們平時說的資料庫是指資料庫管理系統(Database Management System),它是一種操縱和管理資料庫的大型軟體,用於建立、使用和維護資料庫,簡稱DBMS。嚴格來說資料庫是資料庫管理系統的實例,一個資料庫管理系統可以有多個資料庫實例。
  • 資料庫庫庫庫庫庫庫庫!
    為什麼要分這麼細呢?有沒有供應商,能夠提供一攬子解決方案呢?還真有,這就是AWS,上面提到的8種類別的資料庫,AWS全部提供!首先還是說關係型資料庫,雖然資料庫分類這麼多,但站C位的還是「關係」,大多數系統的主數據都還是用關係型資料庫。AWS的託管式RDS服務,提供了多種引擎。
  • 理解資料庫與數據模型的概念
    本篇首先引入編程微課項目作為資料庫的應用案例,通過對項目功能及涉及的相關數據的介紹,讓讀者對資料庫的應用有一個感性認識,然後重點講述關係資料庫的理論基礎知識。通過本篇的學習,讀者應該能掌握以下內容:● 編程微課的主要功能● 資料庫的基本原理及數據模型● 關係資料庫1、編程微課編程微課項目使用圖文,語言,視頻等方式進行內容教學
  • 使用Viso從Sqlser資料庫中導出ER圖
    在進行資料庫構建時,需要根據資料庫的邏輯設計和物理設計構建資料庫。反過來,下面介紹如何根據已經有一個資料庫的物理文件,得到邏輯設計(ER圖)。打開viso軟體,點擊「新建」-「軟體和資料庫」-「資料庫模型圖」,如下圖中紅色框中的步驟。
  • Cayley圖資料庫的可視化(Visualize)
    圖資料庫的簡介及使用中,我們已經了解了Cayley圖資料庫的安裝、數據導入以及進行查詢等。Cayley圖資料庫是Google開發的開源圖資料庫,雖然功能還沒有Neo4J來得那麼強大,但也有很多新的功能等待著我們去探索。本文將繼續上篇文章的旅程,給讀者介紹如何在Cayley圖資料庫中實現查詢結果的可視化。
  • 中文概念語義特徵資料庫A Chinese Conceptual semantic feature dataset (CCFD)
    我們還統計了哪些特徵是多個概念所共有的,哪些特徵是某些概念所特有的。如果某特徵是3個及以上的概念都有的,則算共有特徵,如果某特徵只有1或2個概念擁有,則算特有特徵。平均每個概念有31個共有特徵,6個特有特徵。
  • 資料庫管理系統(年薪50萬DBA基礎)-快速入門教程5-ER圖模型
    ER或(實體關係模型 Entity Relational Model)是一個高級概念數據模型圖。 實體 - 關係模型基於現實世界實體的概念以及它們之間的關係。ER建模可幫助您系統地分析數據需求,以生成設計良好的資料庫。 因此,在實現資料庫之前完成ER建模被認為是最佳實踐。
  • 2018年自考資料庫原理試題二
    2018年自考資料庫原理試題二二、填空題(10分,每小題1 分)在資料庫的三級模式體系結構中,外模式與模式之間的映像(外模式/模式),實現了資料庫的    獨立性。目前,資料庫領域中最常用的數據模型是:層次模型、網狀模型、   和面向對象模型。
  • ER圖和關係模型到MySQL資料庫表
    本篇主要介紹了MySQL資料庫表從ER圖到關係模型,再到資料庫表的創建過程及其表結構的修改。設計資料庫表的主要工具是ER圖,使用ER圖設計資料庫表詳見《資料庫實體聯繫模型與關係模型》一文。mooc資料庫表的ER圖如下。