我正在構建一個非常適合圖形數據庫的應用程序,並決定使用Neo4J。我有兩個想法:是否在Neo4J節點上存儲關於特定節點的數據,或者只是引用mongo db中的項目。Neo4J由MongoDB或Neo4J支持
例如
(聯繫人:NAME = 「條例」,年齡= 29,ID = 1)< -neo
與
(聯繫人:ID = 1,UUID = 「一些的UUID」)< - 新 {UUID: 「一些的UUID」 NAME = 「條例」,年齡= 29} < - 蒙戈
我計劃有一個REST接口,這可能看起來像數據:
/user/{id}
:
- (neo)我會通過neo中的id查找個人用戶。
(neo + mongo)我會在mongo中找到用戶(不需要觸摸neo)。
/user/{id}/friends
:(新)查找用戶的所有朋友和加載節點
- (新+蒙戈)查找用戶的所有朋友們的ID和然後查詢蒙戈的數據
所以我想我的問題是:是否有一個存儲我的數據有關節點的所有Neo(性能等),因爲這看起來更乾淨和簡單。
感謝,
本
您還存儲了哪些其他數據? – manonthemat
無論您使用單個數據庫還是採用* polyglot持久性*方法並使用多個數據庫,都無法正確回答此問題。這將取決於數據的特定形式,以及如何利用每個數據庫的優勢。在你的例子中,儘管你同時使用了兩個,但你只能在neo4j中存儲一個id,所以在那種情況下,你甚至如何利用Neo4j的查詢功能? –