圖數據庫與舊的導航(分層/網路)數據庫有何不同?
我正在努力提高我對圖形數據庫的知識,尤其是 DGraph。圖 DBMS 只是新一代的預關係層次/網路模型 DBMS,還是在目前一代圖 DBMS(neo4j 等)中有一些新的東西?例如,60 年代的 CODASYL 將記錄儲存在自由格式記錄的連結列表中。這不正是目前圖形數據庫引擎正在做的事情嗎?
我的問題不在於圖形 DBMS 的基本功能之外的事物,例如查詢語言、複製等。我知道這些領域已經有了顯著改善。
圖數據庫在很大程度上是無關緊要的。重要的是使用它們的圖形處理引擎。為此,不需要專用的圖形數據庫:圖形可以在任何類型的儲存中表示:關係數據庫、“nosql”數據庫(HBase,…)。甚至是平面文件結構。一些圖形處理引擎包括自己的專用圖形儲存(Neo4J 和 Graph 就是這種情況)。其他(Oracle 屬性圖)讓您可以使用任何您喜歡的儲存。
在處理能力方面,圖形處理與舊的 Codasyl/Network 數據庫有很大不同。圖形處理可讓您進行圖形分析:在社交網路中尋找影響者(頁面排名、接近中心性、中介中心性……)、社區檢測、最短路徑、分群……它們還允許您使用專業語言(如 PGQL 或Cypher(用於 Neo4J)。這用於檢測週期:對於分析金融欺詐和洗錢非常有用。例如,圖形技術已被用於分析巴拿馬文件。相同的技術通常用於分析複雜流程中的依賴關係,例如汽車製造或 IT 基礎設施。請注意,使用圖形遍歷表達式擴展 SQL 語言的工作正在進行中。
我對 DGraph 了解不多。查看文件讓我相信它沒有提供上述任何內容:沒有圖形分析,也沒有實際的圖形遍歷語言。這可能是因為它實際上將圖實現為 RDF(語義)圖,其中數據被抽象為三元組。可以使用允許推斷新三元組的本體來約束 RDF 圖。RDF 三元儲存通常使用 SparQL 語言進行查詢,但 DGraph 似乎也不支持。
知道您認為哪種案例最好通過圖技術而不是關係技術來解決,這會很有趣。