笔记列表:
ArangoDB-一个多模型的第一数据库
ArangoDB被开发者誉为本地多模型数据库。这与其他NoSQL数据库不同。在这个数据库中,数据可以存储为文档、键/值对或图形。使用一种声明性查询语言,可以访问任何或所有数据。此外,不同的模型可以组合在一个查询中。而且,由于它的多模型风格,人们可以创建精益应用程序,它可以用这三种数据模型中的任何一种或全部进行水平扩展。
分层与本机多模型数据库
在本节中,我们将重点介绍本机和分层多模式数据库之间的关键区别。
许多数据库供应商称其产品为“多模型”,但向键/值或文档存储添加一个图形层并不符合本机多模型的要求。
有了ArangoDB,同样的核心和同样的查询语言,人们可以在一个查询中将不同的数据模型和特性组合在一起,正如我们在前面的部分中已经说过的那样。在ArangoDB中,数据模型之间没有“切换”,也没有将数据从A移到B来执行查询。与“分层”方法相比,它为ArangoDB带来了性能优势。
多模式数据库的需求
通过解释[Fowler]的基本思想,我们认识到为持久层的不同部分使用各种适当的数据模型的好处,持久层是更大的软件体系结构的一部分。
根据这一点,例如,可以使用关系数据库来持久化结构化的表格数据;用于非结构化、类似对象的数据的文档存储;哈希表的键/值存储;以及用于高度链接的参考数据的图形数据库。
然而,这种方法的传统实现将导致在同一个项目中使用多个数据库。它可能导致一些操作摩擦(更复杂的部署、更频繁的升级)以及数据一致性和重复问题。
统一三个数据模型的数据之后,下一个挑战是设计和实现一种公共查询语言,该语言允许数据管理员表达各种查询,例如文档查询、键/值查找、图形查询以及这些查询的任意组合。
By 图形查询, we mean queries involving graph-theoretic considerations. In particular, these may involve the particular connectivity features coming from the edges. For example, 最短路径,GraphTraversal, and 邻居.
图形非常适合作为关系的数据模型。在许多现实世界中,如社会网络、推荐系统等,一个非常自然的数据模型是一个图。它捕获关系,并可以保存每个边和每个顶点的标签信息。此外,JSON文档自然适合存储这种类型的顶点和边数据。
阿兰戈德─ 特征
ArangoDB有许多显著的特点。我们将突出以下突出特点−
- 多模型范式
- 酸性
- HTTP API
ArangoDB支持所有流行的数据库模型。以下是ArangoDB支持的几个模型−
- 文档模型
- 关键/价值模型
- 图形模型
一种查询语言就足以从数据库中检索数据
The four properties 原子性、一致性、孤立性, and 耐久性 (ACID) describe the guarantees of database transactions. ArangoDB supports ACID-compliant transactions.
ArangoDB允许客户端(如浏览器)使用httpapi与数据库交互,该API面向资源,可通过JavaScript扩展。