开发者社区> 问答> 正文

请问这个数据库中的图模型和neo4j数据库比起来,有什么不一样的地方,或者优势?

请问这个数据库中的图模型和neo4j数据库比起来,有什么不一样的地方,或者优势?

展开
收起
OSC开源社区 2024-05-29 21:50:01 85 0
1 条回答
写回答
取消 提交回答
  • Neo4j 是一个很棒的图形数据库,用 Java 编写。 ArangoDB 是一个多模型数据库,包括用 C++ 编写的完整图形功能。 Neo4j 和 ArangoDB 支持图遍历、ShortestPath 和模式匹配。我个人不得不承认的是,neo4j 的 WebUI 和图形查看器比 ArangoDBs 更漂亮:)

    基本区别在于,ArangoDB 将边和顶点存储为 JSON 文档,并具有可用于边和顶点的所有功能。您甚至可以创建存储有关边和顶点的任意信息的嵌套文档。您还可以创建以顶点为中心的索引,这可以加快查询速度。

    您应该记住的是,neo4j 有边缘标签,每个边缘一个标签(通过 ArangoDB 中的集合解决)。对于顶点,neo4j 允许使用多个标签。如果您希望 ArangoDB 中的顶点具有相同的功能,则必须使用顶点的 JSON 文档中的属性。但这应该不会有什么不同。

    一般来说,ArangoDB 是 Neo4j 的完全替代品,但增加了可扩展性选项和集群管理以及关节。 ArangoDB 甚至允许在单个查询中组合图形、联接、聚合、地理空间等。基本差异太多,无法在此列出,但对于任何有兴趣进行深入技术研究的人,可以阅读关于“图数据库的无索引邻接或混合索引 的文章/无索引邻接混合索引图数据库/

    ArangoDB提供基于RAFT的集群管理,并且可以水平扩展;还有图形数据。如果需要,您可以将数据分片到商用硬件,但我们建议在图表情况下尽可能长时间地保留在一台机器上。对于非常大的图(数十亿条边/顶点),我们确实提供了称为 SmartGraph 的功能,可以减少图遍历期间的网络跳数并加快分片数据集上的图查询。

    据我所知,neo4j 不能水平扩展。他们处理更大数据集的方法是将完整数据集复制到每台机器,每台机器负责存储在其上的完整数据集的一部分。这就提出了“当我的数据集超出单个实例的存储容量时该怎么办?”的问题。

    非技术说明:ArangoDB 是完全开源的,具有 Apache 2 许可证,允许在商业项目中使用开源版本。 ArangoDB Enterprise 提供了您可能只在企业规模上需要的附加功能。 Neo4j 只有经过评估才能免费使用。对于任何商业用途,您必须购买许可证,

    2024-05-30 12:38:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载