ArangoDB 3.7-多模式向前迈进了一大步

2020-08-29 21:44:36

当我们的创始人意识到数据模型可以是特性时,我们在ArangoDB为自己设定了开发最灵活的数据库的大目标。随着ArangoDB 3.7的GA发布,该项目在这一旅程中达到了一个重要的里程碑。

与我们的工程与机器学习负责人一起参加9月10日举行的ArangoDB 3.7版本网络研讨会。

成为适合图形、文档和键/值需求的解决方案是我们几年前达到的第一个里程碑。我们在ArangoDB集群版本以及SmartGraphs和SatelliteColltions等特性中提供的第二个灵活性也是规模化的。我们在2018年和2019年通过ArangoSearch引入了强大的文本搜索和排名功能,并推出了运行这一切的最简单的方式-ArangoDB OASIS,从而达到了进一步的里程碑。

今天,随着ArangoDB 3.7的发布,该项目达到了下一个重要里程碑。我们的ArangoSearch团队为ArangoDB的搜索引擎添加了许多新的关键功能,比如模糊搜索功能,支持基于ngram和Levenshtein的匹配,以及增强的短语搜索。但我们并没有止步于此。

有了SatelliteGraphs、不相交的SmartGraphs、并行遍历和许多额外的图形数据库性能升级,我们可以有信心地说,ArangoDB 3.7现在是最灵活和可伸缩的图形数据库。新的模式验证功能只是团队编码到包中的众多额外功能之一。因此,如果您能带着ArangoDB 3.7去兜风,我们会很高兴的。下载企业版(免费试用)或社区版来测试所有新功能。

人们在手机上搜索时用两个拇指打字。科学家们不得不处理不完全匹配的搜索。生物信息学家处理编码成超长字符串的DNA序列的变异。尽管存在这些现实,你在应用程序中想要的是为你的用户提供相关的搜索结果。基于n-gram相似性或Levenshtein距离,您现在可以使用ArangoSearch中新的模糊搜索功能提供细粒度的搜索结果。你也可以在*Buzzword alert*网络范围内做到这一点。

通过这个交互式教程,您可以直接深入了解新的搜索功能,指导您完成各种选项,并提供一些有关何时使用哪些模糊搜索算法的背景信息。

对于那些对我们的模糊搜索之旅感兴趣的人,请随意阅读本文。此外,ArangoSearch现在还支持使用新的通配符匹配的LIKE-运算符。

增强的短语和邻近搜索允许将短语查询与模糊和通配符匹配相结合,以执行真正复杂的全文查询,甚至可以动态生成它们:

将属性值直接存储在索引中可以通过仅读取查询所需的属性子集来显著降低存储引擎的负载。

ArangoDB一直是为数不多的能够在保持快速图形查询的同时进行垂直扩展(多亏了C++),更重要的是能够水平扩展的图形数据库之一。

SmartGraphs一直是实现水平缩放,同时保持图形查询的高端性能的关键功能。有了ArangoDB 3.7中的SatelliteGraphs和不相交的SmartGraphs,我们将这种灵活性进一步提升了一大步。

SatelliteGraphs是一种新的方法来组织集群中的大型数据集,以优化图形和多模型查询(例如包括联接)的性能。

设想一个管理对您组织文档访问的企业权限应用程序,或者一个您想要运行包括传感器数据在内的网络分析的物联网分析应用程序。在这样的项目中,您希望分割大型文档/事实集合,但将较小的图表复制到每台机器上,以便本地查询执行,并且没有网络延迟。SatelliteGraphs是这些用例的完美解决方案。

SmartGraphs可让您将高度互联的大型图表分发到群集,同时保持高性能-非常适合社交网络分析、网络安全应用程序、客户360计划、知识图使用案例等。

但有些情况下,您的大型图表本质上更具层次性,您需要另一种方法才能获得更好的性能。针对这些情况,我们扩展了SmartGraphs的功能,设计了不相交的SmartGraphs。

想一想制造业中的大型物料清单、复杂的身份和访问管理用例或大型IT网络基础设施-在这里,您可能会发现具有更多分层性质的图表,其分支可明确定义,而不存在它们之间的关系。

不相交的SmartGraphs启用这些分支的自动切分,并禁止连接分支的边。这允许查询优化器将整个查询执行下推到DBserver,并极大地提高图查询(如遍历、模式匹配、最短路径和k-最短路径)的性能。

在3.7版本中,图形查询性能得到了极大的提高,ArangoDB的开源Community Edition中也提供了许多优化。

但是,Enterprise Edition提供了一项特殊功能:并行图遍历允许您利用服务器的所有核心,并且您可以通过遍历查询的选项指定并行级别。目前可用于单实例和OneShard群集,第一个测试版客户报告其使用情形获得了显著的性能提升。我们绝对推荐使用这一新的企业版功能进行一次严肃的旋转。

有了ArangoDB的所有这些新功能和丰富的特性,我们可以有信心地说,ArangoDB现在是当今最灵活的图形数据库。

到目前为止,ArangoDB已经支持ACID事务、复杂过滤器或连接好几年了,这使得将您的数据模型1:1从关系数据库转移到ArangoDB成为可能。

拥有灵活的模式很容易适应数据模型中不断变化的需求,但在某些情况下,您可能希望更多地关注数据一致性。在3.7版本中,ArangoDB中现在有一个集成的模式验证(草案4),可以在集合级别进行配置。

您可以验证传入的数据,也可以验证已有的数据,并测试它是否符合您定义的JSON模式。模式验证是一种选择加入的特性,因此数据库管理员可以在有意义的地方为集合定义模式,并为其他用例保持无模式数据库的自由度和灵活性。

在本教程中,您可以使用新的模式验证进行简单的测试。

社区和企业版已经包含了许多保护数据安全的功能。传输加密、静态加密和加密备份为攻击者提供了强大的防护。审核允许详细的访问跟踪,增强的数据屏蔽允许您通过屏蔽敏感数据同时保留其原始结构,安全地将生产数据导出到暂存和测试环境。

在ArangoDB3.7中,您现在还可以轮换JWT令牌和TLS证书,而无需重新启动服务器(热重新加载)。

ArangoDB3.7中有太多新的好东西,我们不能为每一个都专门写上一整段。但尽管如此,有些人可能会发现这些附加功能和改进非常有用:

如果您是ArangoDB的新手,您可能希望在Udemy上查看我们的免费课程“ArangoDB入门”

您还缺少什么功能吗?请通过[email protected]通知我们,或在Slake上加入3000多名Arangos同胞