“Neo4j 4.0: The Graph Database for a New Decade”这是官方对于Neo4j 4.0版本的定位:具有划时代意义的图数据库。 据Neo4j 的首席科学家 Jim Webber 介绍“Neo4j 4.0重大版本是有史以来投入最大的工程技术团队多年研发的结晶。为了使之对开发人员更友好,我们在此版本中投入了大约一个世纪的人力”。 到底4.0版本有哪些新功能,让研发团队对这个版本的期望与评价如此之高?
Unlimited Scalability 无限的扩展性 提供了水平扩展的功能,具有分钟甚至毫秒级别快速查询功能。 这个有点支持分布式意思,这里指的是分布式查询,因为4.0版本支持多个数据库,当查询时可以多个数据库并行查找,然后聚合查询结果。官方为这个新功能起了个新名字 Neo4j Fabric。这个新功能具体效果看通过下面这个图感受一下: 具体查询时如何写,官网也给一个例子,多个graph库中都有User节点,查询这几个库中含有照片数量前十的User节点: 每个数据库都有graphIds即唯一标识,通过call并行查找,并对结果聚合得到最终结果。
Granular Security 细粒度的安全性 开发人员和管理员现在可以更好地控制对数据的访问,以达到安全和隐私的目的。这些细粒度的安全控制确保只有合适的用户才能访问敏感数据。 一句话就是这个版本可以给用户分角色加权限了,这个能不香吗?而且这个分角色分权限也不是一般的香,不仅分库权限,针对Node或Relationship有权限,更让人着迷的还是加了遍历即TRAVERSE的权限。具体可以参考下图的权限配置例子:
Operational Agility 操作的灵活性 Neo4j 4.0增加了多数据库功能,可以分离数据,允许在单个Neo4j集群中运行多个数据库。这为B2B-SaaS相关行业的开发提供了显著的操作效率、安全性和灵活性。 熟悉SQL都知道,进入指定库查询需要USE database,熟悉的味道又回来了。官方对于单机版的Neo4j已经改称呼了,已经称为Neo4j cluster,这是个集群的概念,但是这是个伪集群,你品,细品… 总之,就是这一版可以分库了,困扰很多使用者多年的问题终于解决了!作为开发再也不用拿所有数据都在一张大图内的理由来搪塞产品质问为什么不能分库分表了,呵呵!
Reactive Architecture 响应式的架构 Neo4j 4.0为开发人员提供了对开发的应用程序与数据库交互方式的完全控制方式,包括健壮的数据管道、流数据、机器学习等,从而提升了开发人员的能力,此外,更加面向消息和更以数据为中心。 对于Neo4j的客户端开发人员来说,基于这样的架构,能够控制整个堆栈的资源使用,这样就可以最大程度利用资源,为用户提供最好的体验。
Neo4j其他相关应用更新情况: 已经配合Neo4j 4.0版本更新的相关应用:
Drivers for Java, .NET, JavaScript and Spring Data Neo4j Neo4j Desktop Neo4j Browser The APOC library GRANDstack Halin monitoring tool for Neo4j 其他相关应用预计更新时间如下: Drivers for Python [expected in Q2] and Go [expected in Q4] Neo4j Bloom [expected in Q2] Neo4j Aura [expected in Q2] Apache Kafka integration Neo4j ETL tool
Neo4j 4.0版本已经到来,难道担心代码需要改,数据需要重新导入有用?技术更新时刻在进行,用Python2的迟早忍不住寂寞来到Python3,用Tensorflow1.0的终会忍不住复杂的构建流程切换到Tensorflow2.0,还有那些在使用Bert模型的,殊不知ALBert既香又美!
参考链接及图片来源: https://neo4j.com/blog/neo4j-graph-database-4-0-ga-release https://neo4j.com/whats-new-in-neo4j/
原创不易,求转发,求点“在看”,喜欢请关注,在这里有最真实的分享! Python与知识图谱 原文链接:Neo4j 4.0 已经发布