ArangoDB – 多模型优先数据库

ArangoDB – 多模型优先数据库


ArangoDB 被开发者誉为原生的多模型数据库。这与其他 NoSQL 数据库不同。在这个数据库中,数据可以存储为文档、键/值对或图形。使用单一的声明式查询语言,您可以访问任何或所有数据。此外,可以在单个查询中组合不同的模型。而且,由于其多模型风格,人们可以制作精益应用程序,可以使用三种数据模型中的任何一种或全部进行水平扩展。

分层与原生多模型数据库

在本节中,我们将重点介绍原生和分层多模型数据库之间的重要区别。

许多数据库供应商称他们的产品为“多模型”,但向键/值或文档存储添加图形层并不符合本机多模型的要求。

使用 ArangoDB,具有相同查询语言的相同核心,可以在单个查询中将不同的数据模型和功能组合在一起,正如我们在前一节中所述。在 ArangoDB 中,没有数据模型之间的“切换”,也没有数据从 A 转移到 B 来执行查询。与“分层”方法相比,它为 ArangoDB 带来了性能优势。

对多模式数据库的需求

解释 [Fowler 的] 基本思想使我们意识到对持久层的不同部分使用各种适当的数据模型的好处,该层是更大的软件架构的一部分。

据此,例如,可以使用关系数据库来持久化结构化的表格数据;用于非结构化、类对象数据的文档存储;哈希表的键/值存储;以及用于高度链接的参考数据的图形数据库。

然而,这种方法的传统实现将导致在同一个项目中使用多个数据库。它可能会导致一些操作摩擦(更复杂的部署、更频繁的升级)以及数据一致性和重复问题。

统一三种数据模型的数据后的下一个挑战是设计和实现一种通用查询语言,允许数据管理员表达各种查询,例如文档查询、键/值查找、图形查询和任意组合这些。

通过图形查询,我们指的是涉及图形理论考虑的查询。特别是,这些可能涉及来自边缘的特定连接特征。例如,ShortestPath、GraphTraversalNeighbors

图非常适合作为关系的数据模型。在许多现实世界的案例中,例如社交网络、推荐系统等,一个非常自然的数据模型是图。它捕获关系并可以保存每个边和每个顶点的标签信息。此外,JSON 文档非常适合存储这种类型的顶点和边数据。

ArangoDB ─ 特点

ArangoDB 有各种显着的特性。我们将突出以下突出特点 –

  • 多模型范式
  • 酸特性
  • HTTP API

ArangoDB 支持所有流行的数据库模型。以下是 ArangoDB 支持的一些模型 –

  • 文档模型
  • 键/值模型
  • 图模型

单一查询语言足以从数据库中检索数据

四个属性原子性、一致性、隔离性持久性(ACID) 描述了数据库事务的保证。ArangoDB 支持符合 ACID 的事务。

ArangoDB 允许客户端(例如浏览器)使用 HTTP API 与数据库交互,该 API 是面向资源的,并且可以使用 JavaScript 进行扩展。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁