请问这个数据库中的图模型和neo4j数据库比起来,有什么不一样的地方,或者优势?
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 只有经过评估才能免费使用。对于任何商业用途,您必须购买许可证,
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。