https://www.zhihu.com/question/31819867 https://www.jianshu.com/p/6cab7a150755 https://my.oschina.net/u/3491128/blog/1535311 http://f.dataguru.cn/thread-233314-1-1.html http://nosql.mypopescu.com/post/40759505554/a-comparison-of-7-graph-databases https://support.objectivity.com/
我們選擇了四個較流行的圖形數據庫進行實驗對比。
測試中會提供Python 代碼段以顯示如何使用每個數據庫,之後我們將運行一個快速的基準測試,我們將在i7-6700 CPU @ 3.40GHz 上運行10 000 次我們的示例查詢,然後比較各個圖形數據庫所需的時間及評價其性能。
以下爲四種圖形數據庫性能對比原創總結,詳細對比了各個數據庫的優缺點,以及原文作者做出的總結推薦:
圖形數據庫 語言 時間 優點 缺點 總結推薦 Cayley Go 50 秒 乾淨簡潔的設計
- 可視化UI不能正常工作,使用起來不是很直觀項目的記錄仍然很差,Python客戶端不完整
- 項目文檔編制完善度很低,Python客戶端不完整
過於年輕且文檔編制完善度很低,不推薦應用於生產 Neo4j Java 17 秒 1.成熟的企業解決方案以及額外的功能(監控,備份,改進查詢)
- 語法容易閱讀,容易學習
- 結果記錄易於顯示和分析,是Python dict 包含創建時指定的字段
python客戶端不提供強大的API,它只允許直接使用名爲Cypher的Neo4j的內部語言執行請求 Neo4j 功能齊全,速度敏捷,還有強大的查詢語言及另外許多功能,可以滿足使用圖數據庫的最常使用場景。缺點是官方的Python客戶端功能薄弱 ArangoDB C++ 26 秒
- 靈活多樣的數據庫模型,支持文檔,圖形和鍵值對存儲
- 數據庫創建非常簡單直爽
- 可以在雲基礎設施上輕鬆部署,並幫助構建REST API
- ArangoDB 的圖形存儲基於其自己的文檔存儲系統, 每個頂點都作爲json條目存儲在一個集合中
- 查詢可進行配置(例如,您可以選擇深度優先遍歷)ArangoDB 提供了一個遍歷對象,允許您構建特定的路徑,還有其他的助手,如最短路徑查找或路徑長度檢索,可以滿足圖形查詢的大部分需求
- 查詢結果記錄易於顯示和分析
- ArangoDB 和Python 客戶端很容易理解,而且文檔編制完善
- 在ArangoDB Web UI中可視化您的圖形, 使數據存儲更容易
- 其開發公司非常活躍,並提供很多的額外支持項目
1.如果想用自己的腳本實現同等性,需要自己編寫“獲取或創建”方法
- 還是一個年輕的數據庫
ArangoDB 是開發者和用戶最友好的數據庫,是圖形數據庫進行快速測驗的最佳選擇。除了圖形存儲以外,其文檔存儲也將使您的生產數據管理更加輕鬆方便,可以安全地用於在CG生產環境中 OrientDB Java / / 由於用戶反饋問題,我們未對其進行測試 在CG生產環境中使用有風險
結論: ArangoDB 是我們這組測試中最喜歡的數據庫,如果正在考慮使用圖形數據庫,建議首選測試ArangoDB。