我的問題是從開發人員的角度來看(不是特別尊重用戶),可能有點麻煩。 我想知道如何將節點和關係的結構邏輯地存儲在數據庫中。就像,當我說我有bla bla信息。哪裏? - 然後在BOOK中,答案是以網格或頁面上的線條的形式。在RDBMS的情況下,數據以網格/表格格式存儲。但我無法理解圖表是如何存儲在Neo4j /圖形數據庫中的。 我正在使用neo4j客戶端2.1.2。Neo4j如何在內部存儲數據?
8
A
回答
3
http://www.slideshare.net/thobe/an-overview-of-neo4j-internals已經有點過時了,但是這給你一個很好的Neo4j邏輯表示概述。
一個節點引用:
- 它的第一個標籤(我的猜測是,標籤被存儲爲一個單向鏈表)
- 它的第一個屬性(屬性被組織成一個單向鏈表)
- 其開始/結束關係
關係被組織爲雙向鏈接列表。 的關係分:
- 其第一屬性(同節點)
- 其開始節點的前導和後繼關係
- 其端節點的前導和後繼關係
由於這種鏈式結構,遍歷(即查詢數據的方式)的概念很容易出現。這就是爲什麼像Neo4j這樣的圖形數據庫擅長遍歷圖形結構數據的原因。
我的粗略猜測也是,因爲Neo4j版本2.1(和its newly introduced dense node management),節點的關係按類型分開。通過這樣做,如果節點N例如是類型A的5個關係的起始節點,並且對於類型B的5百萬個類型,則針對N的遍歷類型A的rels保持O(n = 5)。
相關問題
- 1. hstore如何在內部存儲數據?
- 2. Android:如何在內部存儲器上存儲數據?
- 3. Neo4j如何物理存儲數據?
- 4. Neo4j的對存儲數據
- 5. 數據庫如何在B-Tree/B + Tree內部存儲數據
- 6. 圖形數據庫如何在內部存儲其數據?
- 7. Javascript - 數組如何在內部存儲?
- 8. Android:在內部存儲數據
- 9. 在內部存儲數據C#
- 10. 如何在Android內部存儲數據結構(如HashMap)?
- 11. 將數據保存到內部存儲
- 12. 如何將數據庫從內部存儲備份到外部(共享)存儲
- 13. 如何使用存儲在內部數據存儲器中的圖像android
- 14. 如何查看數據庫內電話內部存儲器
- 15. 如何在內部存儲備份sqlite數據庫
- 16. 訪問數據如何在Android中形成內部存儲器
- 17. 如何在svg對象內部存儲自定義數據?
- 18. 將個人數據存儲在內部存儲器中
- 19. 如何在neo4j中存儲時間數據類型?
- 20. 在內部存儲
- 21. 在外部存儲數據
- 22. 數據存儲到的Neo4j從日食
- 23. OpenGL如何在內部存儲命令?
- 24. BigInteger如何在內部存儲值?
- 25. Python如何在內部存儲列表?
- 26. JavaScript如何在內部存儲空值?
- 27. 如何存儲和讀取內部存儲器中的整數
- 28. 如何存儲小部件的數據?
- 29. 如何存儲大部分空數據?
- 30. 外部函數如何「存儲」內部函數的參數?
思考參考鏈和圖表:http://www.slideshare.net/thobe/an-overview-of-neo4j-internals – duffymo