我想知道爲什麼neo4j有節點和關係的容量限制。對節點和關係的限制是2^35 1,它比「正常」2^32整數「小」一點。通用SQL數據庫例如mysql存儲主鍵爲int(2^32)或bigint(2^64)2。你能向我解釋這個決定的優點嗎?在我看來,這是選擇數據庫時的關鍵決定點。爲什麼neo4j中有節點和關係的容量限制?
11
A
回答
11
這是一個人爲限制。儘管我沒有聽說過任何官方的ETA,但他們會在不久的將來將其刪除。
通常情況下,在實際達到此限制之前,您會遇到單臺計算機上的硬件限制。
當前選項是手動將圖形分割到不同的機器上。對某些用例不理想,但在其他情況下可用。將來他們會自動分割數據 - 也就是沒有ETA。
更新: 我已經學習了一些關於neo4j存儲內部的更多信息。限制是什麼的原因是因爲id號在幾個地方作爲指針存儲在磁盤上(節點記錄,關係記錄等)。爲了增加2的冪次,他們需要增加每個節點1個字節和每個關係1個字節 - 它現在被打包,只要它將去,而不需要在磁盤上使用更多的字節。瞭解更多在這個偉大的博客帖子: http://digitalstain.blogspot.com/2010/10/neo4j-internals-file-storage.html
更新2:
我聽說在2.1,他們將圍繞幅度高於他們目前是另一個次序增加這些限制。
0
從neo4j 3.0開始,所有這些約束都被刪除。
動態指針壓縮可根據需要擴展Neo4j的可用地址空間,從而可以存儲任何大小的圖形。沒錯:不再有340億個節點!
欲瞭解更多信息,請訪問http://neo4j.com/blog/neo4j-3-0-massive-scale-developer-productivity。
相關問題
- 1. 複製neo4j中的節點和關係
- 2. 是否可以擴展Neo4J中的關係和節點限制?
- 3. neo4j節點ID和關係
- 4. Neo4j節點沒有關係
- 5. 爲什麼CREATE [關係]在Neo4j中創建2個空節點?
- 6. neo4j節點和關係上允許的屬性是什麼?
- 7. 如何刪除neo4j中的所有節點和所有關係
- 8. 在Neo4j中匹配有和沒有關係的節點
- 9. Neo4j和SQL關係有什麼區別?
- 10. Neo4j導入節點和關係
- 11. Neo4j如何返回節點和關係?
- 12. neo4j密碼交錯節點和關係
- 13. 自定義類作爲neo4j中節點和關係的對象
- 14. 刪除neo4j中的節點和所有入站關係2.0+
- 15. 刪除用戶Neo4j中的所有關係和連接節點
- 16. 在Java中新建一個neo4j節點和現有節點之間的關係
- 17. Neo4j將大量關係添加到已有的節點
- 18. Neo4j的暗號查詢刪除節點和所有子節點和關係
- 19. Neo4j Cypher:複製關係和刪除節點
- 20. 獲取Neo4j中沒有特定關係的所有節點
- 21. Neo4j節點之間的關係
- 22. Neo4j和Cypher:匹配與目標節點有單一關係的節點
- 23. 爲什麼Neo4j創建節點[0]?
- 24. 查找與Neo4j中的輸入節點有特定關係的節點
- 25. 什麼是查詢訪問neo4j中的關係相反的節點
- 26. 將Neo4j中的箭頭/關係建模爲節點
- 27. Neo4j:節點和關係對象中的屬性
- 28. Neo4j中的動態節點和關係創建
- 29. 在Neo4j節點之間創建關係
- 30. Neo4j插入節點與各種關係
他們已經刪除了neo4j 3.0中的所有這些約束條件。看到我的答案[下面](http://stackoverflow.com/a/37033847/1925109)。 – Hassan