【发布时间】:2014-02-12 17:18:01
【问题描述】:
我们正在设计具有高度互连数据集的社交网站架构。 (就像用户可以关注其他用户、地点、兴趣。以及基于此的推荐)。馈送将来自直接跟随的实体以及间接连接的实体。 (地点和兴趣点可以像层次结构一样与其他地点和兴趣点相连)。
现在我们计划使用 Neo4j 来存储实体之间的复杂关系及其 ID。我们希望将该实体的实际数据存储在 MySQL 中。我们希望仅将图形数据库内容保持在最小大小(但具有整个关系(这对提要非常重要)),以便我们可以在运行时将整个图形加载到 RAM 中。 (内存中的整个图形用于快速检索内容)。一旦我们从 Neo4j 获得对象的 ID,我们就可以在 MySQL 上运行普通的 SQL 查询。
我们正在使用 PHP 和 MySQL 的组合。现在我们了解到 Neo4j 如果以嵌入式方式实现,则适用于复杂的算法和快速的数据检索。现在我们需要将 Neo4j 与 PHP 集成。我们计划为 Neo4j 实现创建 RESTful Java API(或 SOAP)。通过这种方式,我们可以做到。
我们将拥有至少 100 万个节点和 1000 万个关系。 Neo4j 可以通过适当的索引在 1-5 秒内遍历 100 万个节点而不会出现性能故障吗?
现在,如果这行得通,请指导我。任何以前已经做过这种事情的人。您在这方面的任何一点指导都会对我非常有用。
谢谢
P/s:我附上一些项目关系图,让你更了解。请询问您是否需要我的更多意见。
https://drive.google.com/file/d/0B-XA2uVZaFFTWDdwUEViZ2ZsbkE/edit?usp=sharing
https://drive.google.com/file/d/0B-XA2uVZaFFTTGV4d1IySXlWRGs/edit?usp=sharing
【问题讨论】:
标签: java mysql database-design architecture neo4j