在過去的幾年中,圖數據庫變得越來越流行,因為它們為表述數據提供了極大的靈活性。大多數圖數據庫都是用Java編寫的,但是在Python,.NET,PHP和C ++中有一系列好的解決方案。
1.Neo4j社區版
Neo4j是最流行的高度可擴展的本地圖數據庫(用Java編寫)之一。Neo4j的Graph平臺經過優化,可以存儲,映射,分析和遍歷連接的數據網絡,以發現不可見的上下文和隱藏的關係。
通過直觀地映射數據點及其之間的連接,Neo4j支持智能實時應用程序,包括:人工智能,機器學習,物聯網,實時推薦;主數據管理;欺詐識別;身份和訪問管理。
Neo4j帶有2個版本:社區版和企業版。Community Edition是學習Neo4j和不需要大量擴展或專業服務與支持的小型項目的理想選擇。企業版具有與社區版相同的功能,具有企業級可用性,管理以及向上和向外擴展功能。
Neo4j社區版的主要功能和優勢:
- 標記屬性圖模型
- 本機圖形處理和存儲
- 密碼圖查詢語言
- 通過本地標籤索引快速寫入
- 通過複合索引快速讀取
- ACID交易
- 高性能本機API
- Java,Python,C#和JavaScript,PHP,NodeJS等的語言驅動程序。
- 非常快。
2.HyperGraphDB
HyperGraphDB是一種通用的開源數據存儲機制。顧名思義,它是用於存儲超圖的數據庫。HyperGraphDB主要設計用於知識管理,AI和語義Web項目,但它也用作各種規模Java項目的嵌入式面向對象的數據庫。儘管HyperGraphDB屬於圖數據庫的通用系列,但其許多設計都提供了以任意複雜度來管理結構豐富的信息的方法。
主要功能和優點:
- 面向圖的存儲。
- 強大的數據建模和知識表示。
- 圖節點之間的N元高階關係。
- 圖遍歷。
- 關係型查詢。
- 可自定義的索引編制和存儲管理。
- 可擴展的動態數據庫模式。
- 開箱即用的Java OO數據庫。
- 非阻塞併發寫入和讀取!
- 用於數據分發的P2P框架。
3.Titan分佈式圖數據庫
Titan是最具擴展性的開源圖數據庫之一,已優化用於存儲和查詢包含數千億個頂點和邊的圖形。可以在Hadoop中進行此操作,對大型數據集非常有用。Titan是一個事務數據庫,支持數千個併發用戶實時執行復雜圖形。Titan具有彈性和線性的可擴展性,可以滿足不斷增長的數據和用戶群的需求。實現語言是Java。
主要功能和優點:
- 多數據中心高可用性。
- 支持ACID和最終的一致性。
- 支持各種存儲後端:Apache Cassandra,Apache HBase,Oracle BerkeleyDB。
- 通過與大數據平臺(Apache Spark,Apache Giraph和Apache Hadoop)集成,支持全局圖數據分析,報告和ETL。
- 通過以下方式支持地理,數值範圍和全文本搜索:ElasticSearch,Solr,Lucene。
- 與TinkerPop圖棧的本機集成:Gremlin圖查詢語言,Gremlin圖服務器,Gremlin應用程序。
4.ArangoDB
由於其C ++內核,ArangoDB是一個非常快速的解決方案。可以將ArangoDB用作鍵/值,文檔或圖的專用數據庫,並在一個查詢中混合使用這些數據模型。ArangoDB設計為本地多模型數據庫,可讓你以非常靈活的方式對數據進行建模並支持大量用例。可以擴展ArangoDB以更好地滿足你的需求。可以通過Foxx(一個由Google V8支持的數據庫微服務JavaScript框架)添加邏輯,從而在C ++級別上完全訪問ArangoDB的功能。
主要功能和優點:
- 模式匹配
- 最短路徑
- 分佈式圖
- 嵌套屬性
- 全面遍歷
- 交易次數
- 自組織集群狀態管理。
- 快速集群啟動等。
5.Apache TinkerPop
Apache TinkerPop還是一個受歡迎的開源圖數據庫。Apache TinkerPop是與供應商無關的圖計算框架,為批處理分析圖形處理器(OLAP)和實時事務性圖形數據庫(OLTP)的分發。當數據系統啟用TinkerPop時,可以將域建模為圖形,並使用Gremlin圖形遍歷語言對其進行分析。此外,所有啟用TinkerPop的系統都相互集成。
主要功能和優點:
- 圖形遍歷語言– Gremlin設計為可跨語言工作。
- 將關係數據庫和圖數據庫捆綁在一起。
- 直到使用Tinkerpop 3為止,Python和其他語言的工作人員都可以選擇。
- 可以用於分佈式環境中的小型圖或大型圖。
- OLTP和OLAP遍歷
- 命令式和聲明式遍歷。
這裡還推薦一些其他好的解決方案:
ThingSpan——可擴展的圖分析平臺。它由Objectivity/DB支持,通過與Apache Spark和Hadoop分佈式文件系統本地集成來利用開源堆棧。
Cayley——其靈感來自Freebase和Google的Knowledge Graph背後的圖數據庫。
OpenLink Virtuoso——用於數據訪問,虛擬化,集成和多模型關係數據庫管理的現代企業級解決方案。
Apache Giraph——為實現高可伸縮性而構建的迭代圖處理系統。
VelocityGraph——可分發的開源C#.NET混合NoSQL圖數據庫和對象數據庫。高性能數據持久性。
InfoGrid——具有許多其他軟件組件的開源Web圖數據庫。
閱讀更多 雲智時代 的文章