Neo4j给了它的图形数据库一个主要的企业改版
Neo4j Inc.今天发布了一款图形数据库引擎,并称这是该公司自2007年成立以来最重大的一次升级。
4.0版本具有无限的可伸缩性、智能数据上下文、支持单个集群中的多个数据库实例以及重大的安全改进。
首席科学家吉姆·韦伯表示,自2018年发布3.5版本以来,4.0版本是100多年“工程师时代”的顶峰。在发布后不久,Neo4j就筹集了8000万美元,使其总资金达到了1.6亿多美元。
图形数据库具有一种独特的能力,能够以一种能够在元素之间快速导航以发现相关性的方式来表示复杂的关系。这使它们非常适合推荐引擎等应用程序,在这些应用程序中,数据元素之间的关系不容易预定义。
在这个日益拥挤的领域中,Neo4j是资金最充足的初创企业。该公司发布了其图形引擎的社区版,并对功能更全的企业版收费。韦伯说,最新一轮的增强是为了满足企业用户的需求。他说,之前的版本“对企业版来说还可以,但它是单幅图像的,安全功能不是很好,而且边缘粗糙”。“在4.0中,所有这些都发生了根本性的变化。”
除了以前支持的垂直扩展外,Neo4j 4.0现在还支持水平扩展。Webber说,所谓的“向外扩展”架构在NoSQL数据库中很常见,但在图数据领域却很少见。Neo4j表示,不受限制地向外扩展的能力能够极大地改善性能,并支持更大的数据量。
版本4.0还支持响应式编程,为开发人员提供了应用程序与数据库交互的完全控制。反应性系统被设计为响应性、弹性、弹性和消息驱动的,对错误处理和充分利用可用资源具有很高的容忍度。它们在流数据应用方面尤其强大。
韦伯说:“在3.5版本中,数据库会对查询进行评估,并向你返回大量数据,你必须在缓冲区填满的时候处理这些数据。”在4.0中,客户端可以控制流量。它可以以处理结果的速度拉回结果。该引擎还可以跨多个节点并行运行查询,以更好地利用可用资源。
多个数据库现在可以在一个单独的Neo4j集群中运行,Webber称这一改进解决了一个重要的瓶颈问题。“以前,如果你想要多个图形,你必须打开多个服务器或集群,”他说。“每个数据库现在都有自己的安全性,并且独立于其他数据库运行,所以在同一个基础设施中,您可以在同一基础设施的单个部分上运行多个图。”
多数据库支持还允许查询跨多个数据库运行。“我现在可以在多个图表上运行业务范围的查询,”韦伯说。“我可以查询它们,就好像它们都是一个单独的图表,能够对数据进行分区并水平伸缩。”
在安全领域,开发人员和管理员现在可以很好地控制数据访问,以确保只有指定的用户才能看到敏感数据。新框架基于用户和角色,并具有“遍历”功能,允许查询在图形中移动,包括用户没有读写权限的区域。在以前的版本中,“如果你运行一个查询,而你没有能力遍历这个关系,它会丢失一半的数据,给你一半的答案,”韦伯说。“这对图的作用就像行级安全性对关系图的作用一样。”