您现在的位置是:首页 > 百科经验 >

Neo4j 4.0将enterprise添加到它的图形数据库中

2020-02-26 16:21:35

我们一直在这个专栏中定期跟踪图形数据库的演变。当我们从Neo4j得到关于它即将发布的消息,被称为“迄今为止图形技术市场上最重要的产品发布”时,我们的兴趣被激发了。虽然我们第一次收到的大纲是简洁的,但与首席执行官EmilEifrem讨论和挖掘一点深度并没有令人失望。

传统智慧说,产品版本标签4.0是一个主要的版本。回顾Neo4j4.0清楚地说明了为什么Neo4j的人对这个版本有这种感觉。解决可伸缩性、安全性、管理和体系结构的痛点都在一个版本中是不小的壮举。这些都是用户一直在要求的功能。我们一个接一个地把它们拆开。

让我们不要拐弯抹角:水平可伸缩性很难,这已经是Neo4j的一个痛点了。一个它的用户意识到的,并提出了一个要点。只要整个图表能装在一台机器里,一切都很好。一旦图表开始超越这一点,事情就开始变得丑陋。答案,Neo4j4.0承诺,在于织物。

织物是Neo4J的新碎片和联邦功能的代号。切分是指在许多服务器上分割一个图形。联合会是指能够在许多服务器上“加入”许多不同的图表。Eifrem说,长期以来,他们一直在思考如何做到这一点,我们确信这是真的。

这一点也不简单,任何一个曾经尝试过设计和操作分布式系统的人都可以证明这一点。选择一个有效的切分策略意味着以一种尽可能接近所使用服务器的功能的方式分割数据的全部,同时尽可能避免从一个服务器跳转到另一个服务器。

联合会也指分配,但有些不同..在切分中,服务器基本上是合作分配它们之间共享的服务数据的负载。在联邦中,每个服务器都是独立运行的。数据不同的服务器主机可能相互重叠,也可能不相互补充。补充功能使服务器能够根据请求为它们所承载的部分数据提供服务。

Neo4j4.o带来了一系列新功能,以“非常谱”的方式实现

然而,这两种情况有一些共同之处。首先,将这些功能添加到服务器是不够的。用户需要有一些方法来访问这个。换句话说,查询语言必须改变以适应共享和联合。Eifrem证实了这一点:的确,Neo4j的查询语言Cypher已经被扩展了。

然而,这是必要的,但不足以使用碎片和联邦。伟大的力量带来伟大的责任。要使用这些特性,用户不应该仅仅学习一个新的语法,还应该以一种符合他们需求的方式配置服务器。使用碎片或联邦Neo4j数据库意味着意识到并与其配置一致。

eifrem说,将会有很多解释材料出现,关于所有的新功能。此时,Neo4j工程师亚当·考利(Adam Cowley)的一篇博客文章是我们必须经历的。有一点要注意的是,Fabric功能只是Neo4j企业的一部分,而不是开源版本。

Eifrem提到的织物使操作规模超过以前的可能性。他列举了欧洲最大的图片图书供应商之一阿尔贝利的早期用户超过100万。Eifrem还指出,Neo4j一直在尝试使用切分基准数据集来开发这一特性。

安全并不完全是一个令人头痛的特点,但它是任何企业的要求。Eifrem指出,随着Neo4j的采用正在蔓延,为了跨组织边界使用该平台,必须有细粒度的安全性。

例如,在涉及医疗保健数据的情况下,将适用相关监管,如HIPAA。这对数据访问提出了某些要求,在技术层面上,这些要求转化为能够为某些用户群体打开和关闭对某些边缘或属性的访问。

Eifrem说,这现在是可能的,而且是以“非常谱”的方式完成的。这意味着Neo4j数据库的安全模型本身被建模为图,并存储在Neo4j中。这是有道理的,这也是其他数据库所做的。

例如,在关系数据库中,除了用户定义的模式外,还有一个系统元方案,其中包括关于其他模式的信息。Neo4j的新安全能力也以类似的方式发挥作用。这反过来又指向了Neo4j4.0的另一个重要补充:在一个实例中托管多个数据库的能力。

在一个实例中托管多个数据库的能力是一个长期的痛点,Neo4j是用4.0版本解决的。

到目前为止,这是不可能的。如果用户想要创建一个新的数据库,那就意味着必须旋转另一个实例。不用说,这不是做到这一点的最有效方法。有了Neo4j4.0,这就不再有必要了。用户现在可以在一个实例中创建和托管许多数据库。

最后但并非最不重要的是,Neo4j做了一些内部架构更改,以保持与时俱进。在Eifrem描述的对开发人员社区的点头中,Neo4j采用了“反应宣言”,并对其进行了相应的重构。作为反应系统构建的系统背后的思想是更加灵活、松散耦合和可伸缩。

反应系统意味着更容易容忍故障和高度响应,给用户有效的交互反馈。响应性、弹性和消息驱动是反应系统的关键特性。Eifrem说,Neo4j采用了它们,但没有改变现有的API。相反,已经添加了新的API来公开这些Capabilite。

这一切该怎么办?首先,看起来要实现这些特性必须花费大量的工程精力。Eifrem的开场白是“这是我们100名工程师一直在做的事情”。显然,Neo4j最近的资金正在得到很好的利用。Neo4j希望通过促进企业采用来获得投资回报。

另一件需要注意的事情:看起来,为了解决它自己的一些慢性痛点,Neo4j从(图)数据库历史和最佳实践中借用了页面。这是有道理的。例如,我们注意到Cypher的切分和联邦查询功能类似于SPA RQL。SPA RQL是RDF图形数据库的主要查询语言.

尽管Fabric只是Neo4j Enterprise的一部分,但Cypher也有一个开源版本,称为OpenCypher。其他供应商也实施了Cypher。因此,我们想知道是否有机会在异构节点之间看到切分和联邦Cypher查询。这在某种程度上会重复属性图中的RDF互操作性。

Neo4j的团队评论说,新的切分功能利用了在GQL论坛中与其他图形供应商一起积极工作的功能。他们接着补充说,这些特征在Cypher中已经存在了一段时间,作为Cypher10(即)。在Neo4J的Apache Spark项目的Cypher中实现)。

Fabric是Neo4j的新碎片和联邦功能的代号,使其能够扩展。

他们总结说,从语言的角度来看,这具体意味着能够编写一个查询,该查询可以将多个数据库作为图形跨度,并返回一个结果集。我们的解读:如果您有一组节点,其中一些节点运行Neo4j4.0Enterprise,还有一些节点运行Cypher10的其他实现,那么分布式查询应该是可能的

对我们来说,这有点似曾相识,为数据集成和互操作性打开了可能性。这将是有趣的,看看这是如何演变的,以及它是否借用了像URI这样的东西从RDF世界。这将有助于唯一地识别跨节点的数据。包装,我们问Eifrem,这100名工程师将工作什么下一步。他的半开玩笑的回答是卢旺达国防军。

然而,Eifre m很快指出了进一步的改进,以便于作为下一个前沿领域使用。Neo4j已经被认为易于在图形数据库中使用,但Eifrem提到了My SQ L作为衡量这一点的尺度。易用性可能在很大程度上是无形的,但也需要大量的努力才能得到正确的。

我们当然明白为什么这是Neo4j的优先事项。尽管如此,Neo4j越向联邦查询和数据集成场景扩展,它就越会遇到RDF世界多年来面临的挑战和机遇。两个世界接触得越多,对用户来说就越好。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

热点推荐

点击排行

  • · 尽管大肆宣传Rimac拒绝制造SUV

    尽管大肆宣传Rimac拒绝制造SUVRimac永远不会制造SUV。根据MateRimac的说法,就像从来没有一样。尽管制造SUV是充实银行账户的可靠方式,但这家EV超级跑车制造商甚至根本不

  • · 交易:B&H推出混合LG Watch G7...

    交易:B&H推出混合LG Watch G7 售价190美元 折扣53%或210美元去年十月,LG Watch W7亮相。该设备被认为是混合智能手表,因为它结合了机械手和数字功能。例如,时计在Wear OS上运行,包括气压计,秒

  • · 斯巴鲁制造了一款名为e-Boxer的混...

    斯巴鲁制造了一款名为e-Boxer的混合动力XV型轿车这是全新的斯巴鲁XVe-Boxer-本质上是一个自我充电混合版本的品牌的粗糙‘n’翻滚交叉-如果你继续阅读后,这一点,我们高度赞扬你的承诺,你知道,汽车。 这并不是说XVe-Boxer将是一款

  • · 新的宝马M8将有三种外形

    新的宝马M8将有三种外形在一个似乎无法获得足够高性能汽车的世界里,还有更多的消息可以让马力的瘾君子远离戒毒所一段时间。因为宝马老板强烈暗示M8将有三种口味:coupe,gran coupe(上面以概念形式预览)

  • · 使用无线电源 在驾驶时为电动汽车充电

    使用无线电源 在驾驶时为电动汽车充电虽然电动汽车的采用通常被认为是绿色交通的重要一步,但许多司机对购买一辆可能在旅行结束前失去动力的车辆持谨慎态度。为了消除这种范围焦虑,斯坦福大学的一个团队设计了一个系统,

  • · 2020年马自达CX-9回顾 当时尚战胜功能

    2020年马自达CX-9回顾 当时尚战胜功能这可能是最好看的三排交叉今天出售。尽管这款马自达CX-9已经上市多年,但它仍然是一款好品味的典范,外观和外观都很漂亮。 研究马自达CX-9|在你身边寻找马自达CX-9 但是,当购买一辆