2016-02-15 41 views
-1

我正在尋找圖形數據庫的選項以用於項目。我預計每天會有〜100000次寫入(vertix + edge)。而更少的讀數(每小時幾次)。最常見的查詢需要2個邊緣深度跟蹤,我期望返回〜10-20個結果節點。 我沒有圖形數據庫的經驗,並希望與gremlin一起工作,以便能夠根據需要切換到另一個圖形數據庫。現在我考慮兩種可能性:neo4j和泰坦。需要建議選擇圖形數據庫

正如我所看到的,Neo4j有足夠的社區,信息和工具,所以我寧願從它開始。他們的容量數量應該足夠滿足我們的需求(約340億節點,約340億條邊)。但我不確定在這種情況下我會面對哪些硬件要求。另外,我沒有看到他們的查詢有任何並行選項。

另一方面,泰坦是爲水平可擴展性而構建的,並與集中並行工具(如spark)集成。所以我可以預期硬件需求可以以線性方式擴展。但泰坦的信息/社區/工具要少得多。

我會很高興聽到您的建議

回答

2

塞巴斯蒂安好做了精彩的演講比較多個數據庫彼此。你可以看看他在here的結果。

演示的快速摘要這裏 enter image description here

有關使用不同的數據集,不同節點的大小和緩存每個圖形數據庫基準測試,請看看這個Github repository通過socialsensor。只是爲了讓你知道,回購的結果與演示文稿中的結果有些不同。

我個人的建議是:

  1. 如果你有雄厚的財力,去Neo4j的。憑藉技術支持和簡便的CIPHER,事情將會非常迅速。

  2. 如果您支持開放源代碼(並且耐心開發週期),請使用適用於Amazon Dynamo DB後端的Titan DB。這將爲您提供EC2機器和Dynamo表的「無限」可擴展性和良好性能。有關更多信息,請查詢here for docshere for their code

+0

謝謝你的回答。您能否爲所提供的用例增加一些關於硬件要求和成本效率的內容? –

+0

@OlgaGorun看看Neo4j定價http://neo4j.com/subscriptions/。對於Titan/DynamoDB,請看這裏http://tinyurl.com/gpv9t43 –