我們選擇了四個較流行的圖形數(shù)據(jù)庫進行實驗對比。測試中會提供Python 代碼段以顯示如何使用每個數(shù)據(jù)庫,之后我們將運行一個快速的基準測試,我們將在i7-6700 CPU @ 3.40GHz 上運行10 000 次我們的示例查詢,然后比較各個圖形數(shù)據(jù)庫所需的時間及評價其性能。
以下為四種圖形數(shù)據(jù)庫性能對比原創(chuàng)總結,詳細對比了各個數(shù)據(jù)庫的優(yōu)缺點,以及原文作者做出的總結推薦:
圖形數(shù)據(jù)庫 | 語言 | 時間 | 優(yōu)點 | 缺點 | 總結推薦 | |
---|---|---|---|---|---|---|
Cayle | Go | 50 秒 | 干凈簡潔的設計 | 1. 可視化UI不能正常工作,使用起來不是很直觀項目的記錄仍然很差,Python客戶端不完整 | -- | |
-- | -- | -- | -- | 2. 項目文檔編制完善度很低,Python客戶端不完整 | 過于年輕且文檔編制完善度很低,不推薦應用于生產(chǎn) | |
Neo4j | Java | 17 秒 | 1.成熟的企業(yè)解決方案以及額外的功能(監(jiān)控,備份,改進查詢) | python客戶端不提供強大的API,它只允許直接使用名為Cypher的Neo4j的內部語言執(zhí)行請求 | Neo4j 功能齊全,速度敏捷,還有強大的查詢語言及另外許多功能,可以滿足使用圖數(shù)據(jù)庫的最常使用場景。缺點是官方的Python客戶端功能薄弱 | |
-- | -- | -- | 2. 語法容易閱讀,容易學習 | -- | -- | |
-- | -- | -- | 3. 結果記錄易于顯示和分析,是Python dict 包含創(chuàng)建時指定的字段 | -- | -- | |
ArangoDB | C++ | 26 秒 | 1. 靈活多樣的數(shù)據(jù)庫模型,支持文檔,圖形和鍵值對存儲 | 1.如果想用自己的腳本實現(xiàn)同等性,需要自己編寫“獲取或創(chuàng)建”方法 | ArangoDB 是開發(fā)者和用戶最友好的數(shù)據(jù)庫,是圖形數(shù)據(jù)庫進行快速測驗的最佳選擇。除了圖形存儲以外,其文檔存儲也將使您的生產(chǎn)數(shù)據(jù)管理更加輕松方便,可以安全地用于在CG生產(chǎn)環(huán)境中 | |
-- | -- | -- | 2. 數(shù)據(jù)庫創(chuàng)建非常簡單直爽 | 2. 還是一個年輕的數(shù)據(jù)庫 | -- | |
-- | -- | -- | 3. 可以在云基礎設施上輕松部署,并幫助構建REST API | -- | -- | |
-- | -- | -- | 4. ArangoDB 的圖形存儲基于其自己的文檔存儲系統(tǒng), 每個頂點都作為json條目存儲在一個集合中 | -- | -- | |
-- | -- | -- | 5. 查詢可進行配置(例如,您可以選擇深度優(yōu)先遍歷)ArangoDB 提供了一個遍歷對象,允許您構建特定的路徑,還有其他的助手,如最短路徑查找或路徑長度檢索,可以滿足圖形查詢的大部分需求 | -- | -- | |
-- | -- | -- | 6. 查詢結果記錄易于顯示和分析 | -- | -- | |
-- | -- | -- | 7. ArangoDB 和Python 客戶端很容易理解,而且文檔編制完善 | -- | -- | |
-- | -- | -- | 8. 在ArangoDB Web UI中可視化您的圖形, 使數(shù)據(jù)存儲更容易 | -- | -- | |
-- | -- | -- | 9. 其開發(fā)公司非?;钴S,并提供很多的額外支持項目 | -- | -- | |
OrientDB | Java | -- | -- | -- | 由于用戶反饋問題,我們未對其進行測試 |
結論: ArangoDB 是我們這組測試中最喜歡的數(shù)據(jù)庫,如果正在考慮使用圖形數(shù)據(jù)庫,建議首選測試ArangoDB。
原文鏈接: https://medium.com/@cgwire/cg...
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40838.html
摘要:加上內部函數(shù)被返回,被其他對象引用,形成了閉包,因此對應的變量對象存在于閉包函數(shù)的作用域鏈中。因此訪問次數(shù)越多,費用越高,頁面性能就會受到很大影響。盡管還主動執(zhí)行了一次操作,曲線也沒有下降。 副標題:常見的JavaScript內存泄露 這是關于JavaScript內存泄露相關的序列文章中一篇。由于時間有限更新進度會有點慢,但會持續(xù)更新的。自己也在學習中,難免對某些知識點的理解不是很正確...
摘要:向開發(fā)控制臺打印一條消息,常用來在開發(fā)時調試分析。所以最好不要在生產(chǎn)環(huán)境中任何對象。因此最好不要在頁面中任何大對象,這樣可能會影響頁面的整體性能,特別在生產(chǎn)環(huán)境中。 console.log:向web開發(fā)控制臺打印一條消息,常用來在開發(fā)時調試分析。有時在開發(fā)時,需要打印一些對象信息,但發(fā)布時卻忘記去掉console.log語句,這可能造成內存泄露。 在傳遞給console.log的對象是...
閱讀 1792·2021-09-03 10:50
閱讀 1326·2019-08-30 15:55
閱讀 3368·2019-08-30 15:52
閱讀 1230·2019-08-30 15:44
閱讀 934·2019-08-30 15:44
閱讀 3318·2019-08-30 14:23
閱讀 3550·2019-08-28 17:51
閱讀 2290·2019-08-26 13:52