Neo4j 5正式版 - 性能改进了1000倍
Neo4j 5 现已发布,此版本在性能、可扩展性和操作敏捷性方面实现了重大改进。Neo4j 是世界领先的高性能图数据库,具备成熟和健壮的数据库的所有特性,如友好的查询语言和事务的 ACID 原则。
查询性能
Neo4j 工程师的运行时优化使 K-Hop 查询变得更快。内部基准测试表明,对于 8-hop 查询,Neo4j 5 的性能与其前身相比提高了 1000 倍。
Cypher clauses CONTAINS 和 ENDS WITH 广泛用于按文本属性过滤结果。Neo4j 5 中基于 trigrams 的新 TEXT 索引实现使它们的速度提高了数百倍。
公告称,“结合其他内部改进和更优化的查询计划,这些新功能使 Neo4j 5 成为我们有史以来最快的实现”。
Neo4j 5 还使编写复杂的模式匹配查询变得更加容易。Cypher 现在具有 label 和关系类型表达式的语法,允许用户在各个 label 和关系类型之间指定 Disjunction(OR)、Negation(NOT)和 Conjunction(AND)运算符。
Aura 和 self-managed Neo4j 用户可以获得性能和语言改进。
Sharding and Fabric
从版本 4 开始,Neo4j 可以使用 Fabric 从数据库分片中读取数据,就好像它们是单个图一样。在 Neo4j 5 中,现在你可以使用 Cypher 的 Composite database 命令即时创建 Fabric 数据库。当你想要创建跨多个数据库的查询以打破隐藏洞察力和阻碍协作的孤岛时,Fabric 也会派上用场。在 Neo4j 5 中,它已得到增强,可以跨驻留在多个集群中的数据执行联合查询。
Autonomous Clustering
如果你的受众正在增长,那么你需要 Autonomous Clustering。从版本 3 开始,用户就可以运行多个 Neo4j 数据库并将它们横向扩展以每秒处理数万次查询,并且仍然以客户想要和应得的毫秒延迟执行。
然而,Neo4j 5 中的 Autonomous Clustering 将管理负担完全从操作者转移到了软件上。你所要做的就是声明你需要多少个主副本或辅助副本以及你希望如何在集群中管理这些副本,你的愿望就是 Neo4j 的 Cypher 命令。顾名思义,Autonomous Clustering 极大地减少了为响应吞吐量变化而横向扩展或减少托管这些数据库的服务器数量所需的人工工作,并充分利用你的基础架构的弹性。
Agile Operations
Neo4j Ops Manager 是一个 UI 控制台,它为操作员提供了更多的管理控制权和跨数据库、实例和集群的操作指标的鸟瞰图。
“为了向现代 DevOps 实践和向云的转变致敬,从 Neo4j 5 开始,你将在 Aura 发布的同时收到最新和最伟大的创新。此外,Neo4j 5 具有简化的升级体验,使你能够通过任意版本升级跳过次要版本,并在 autonomous clusters 中支持零停机滚动升级。”
所有这些改进使得在本地或你选择的云上运行 Neo4j 图形数据库工作负载变得更加容易和高效,确保 feature parity 和与 Aura 的兼容性,因此你可以在 Aura 中开发和测试并在自我管理的实例上运行生产(反之亦然)。如果你已经是 Aura 用户,则不必担心管理负担或你的数据库是否能够处理额外的负载。性能、可扩展性和易操作性都已融入了 Aura。
更多详情可查看官方博客。