2010-07-13 91 views
2

我正在考慮爲我工作的一些新項目選擇neo4j。對於給定的數據需求(本質上基於圖),neo4j非常適合,快速原型爲我提供了很好的響應時間。我想了解的是如何擴展neo4j部署。具體來說:有沒有辦法分片和複製neo4j數據?

  • 如何在neo4j部署中分割我的數據。由於neo4j部署在一臺機器上,因此我可以在一臺機器上存儲多少數據,這是有限的,因此我想知道如何分配它。很明顯,如果我將其分解到用戶,那麼不能保持斷開連接的用戶之間的關係(跨分片)。
  • 如何複製neo4j數據?我可能會考慮建立一個類似於sql的設置,其中使用用於寫入的主設備和用於讀取的從設備,這樣我們既可以擴展我們潛在的讀者和作者,也可以實時備份我們的數據。我知道所有的neo4j數據都存儲在一個文件系統中 - 這本質上是不可複製的。有什麼辦法可以在這裏做?也許,類似於mysql bin日誌?

回答

2

分割現在不是由Neo4j本身處理,而是由域來處理,就像你描述的一樣。 Neo4j 2.0將會針對這個問題。

對於複製,Online Backup工作,並與主故障真正的高可用性是在作品中使用的ZooKeeper跟蹤羣集節點,並選舉新的主人,等

您的應用分片要求任何更多的細節?什麼域等?

+0

Peter:當你說分區是按領域分類時 - 那麼你是否期望應用程序將它分解爲節點和關係,這樣在分片之間沒有重疊? 或者這是否意味着您將相同的節點存儲在不同的「域」中,以便它們在不同域中的關係不相關,因此不需要存儲在一個地方? (例如,在Twitter世界中A遵循B&A在銀行世界中欠B錢,A和B之間的這兩個關係可以放在不同的分片中) – Shreeni 2010-07-13 10:36:43

+0

我查看了「在線備份」文檔,但它顯示了各種場景 - 但我還不清楚我是否可以做標準的主從式排列。具有主站故障切換功能的真正高可用性將會很好,但是在當前系統中是否會遇到非故障切換情況或者一個用於寫入的主站和多個用於讀取的從站? – Shreeni 2010-07-13 11:24:29

+0

Shreeni, 是的,分區是在域級完成的,並且您持有對域中不同分片的引用並管理它們之間的引用。 通過在線備份,您將擁有一個主設備和一個「熱備份」的​​設置,如果主實例出現故障,您可以作爲主設備進行切換。也許你甚至可以在清單上詢問更多細節? – 2010-07-14 14:53:06

相關問題