如何解决在 Neo4j 中对大型多图数据库进行建模
我正在尝试使用 neo4j 对大型多重图进行建模。
该图有大约 600 万个节点和大约。 500M 关系。该图相对稀疏,除了少数几块非常密集,有很多多条边(从 100 到 1000 条重复边)。
由于超级节点聚集在一个关系网中,因此许多关系使其难以有效地查询和可视化。我正在考虑重构与节点的关系,但我不确定如何去做。
选项 1:将聚合值提取到节点并对(聚合)关系 (a)-[r:REL]->(b)
到 (a)-[:REL_AGG_PART1]->(:REL_AGG_NODE{f1:r.f1,...})-[:REL_AGG_PART2]->(b)
选项 2: 提取中间节点的所有关系 + 聚合的选项 1
选项 3:将多个关系提取为聚合关系
- 优点:易于工作和可视化
- 缺点:没有索引且关系非常复杂
是否也值得将聚合数据从节点重构到辅助节点,使得节点携带查询中经常使用的数据,但更复杂的数据保存在:FULL_DATA_NODE
中?
例如重构
(a)-[r:REL]->(b)
到 (a)-[:REL_AGG_PART1]->(n:REL_AGG_NODE{minimal_fieldset})-[:REL_AGG_PART2]->(b)
和 (n)-[:FULL_DATA]->(m:FULL_DATA_NODE{full aggregated data})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。