我正在开发一个新的应用程序。 基础数据本质上是拓扑的。 该应用程序应支持多租户,并准备好为每个租户处理大图。我有大致以下两个选项:(1)使用像HBase这样的NoSQL DB并自己实现图形抽象层(2)使用Neo4j。
要做出决定,我需要了解Neo4j架构: 1)查询是在内存还是在磁盘中运行?如果答案在内存中 - Neo4j是否将整个图形加载到内存中或是否实现了一些缓存策略? 2)它如何扩展? Neo4j可以在分布式模式下运行吗?如果是这样,数据集是如何分区的?它是一个任意分区还是一个拓扑分区?
谢谢, URI
答案 0 :(得分:0)
1)查询在内存中运行(mmio来自磁盘和对象缓存),请参阅:
http://docs.neo4j.org/chunked/milestone/configuration-caches.html
2)还没有分布式模式。您可以通过分配缓存来进行水平扩展:
http://jim.webber.name/2011/02/scaling-neo4j-with-cache-sharding-and-neo4j-ha/