ArangoDB酸度

crcmnpdw  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(99)

我一直在阅读ArangoDB文档,我得到的印象是,事务性和ACID属性只在单个服务器设置或集群设置中支持,只要没有任何集合被分片。我希望我误解了文档,也许有人可以解释一下我的误解。
以下是导致我得出结论的文件的链接:
https://docs.arangodb.com/3.11/aql/high-level-operations/remove/
https://docs.arangodb.com/3.11/aql/high-level-operations/update/
.../替换/
.../插入/
.../更新/
所有这些都有以下形式的声明(用上述链接中列出的适当AQL措施替代删除):
在单个服务器上,文档删除是以全有或全无的方式事务性地执行的。对于分片集合,整个移除操作不是事务性的。
因此,如果我没有阅读错的话--如果集合的大小增长到必须分片的程度,那么没有一个CRUD操作可以以事务的方式执行,因此ACID属性也就不再保留。
如果我的理解也是正确的,那么transactionality和ACID属性可以保留在集群ArangoDB服务器安装中,前提是没有集合必须被分片,然而,集合可以分布在多个节点上,每个节点都保留其完整性,并且没有节点必须拥有所有的集合。
我感谢任何人提前谁可以照亮这个主题。
Null

hujrc8aj

hujrc8aj1#

集群中的事务安全性与其他解决方案相当,如果它们没有分布在多个节点上,那么多文档和集合查询的额外好处也是ACID。

  • 使用ArangoDB的单个示例,多文档/多集合查询保证完全ACID。这比许多其他NoSQL数据库系统支持的要多。
  • 在ArangoDB集群中,单文档操作也是完全ACID的。
  • 集群中的多文档/多集合查询不是ACID。我们的竞争对手的数据库系统也是如此,例如MongoDB,OrientDB,Neo4j等。然而,我们积极追求在集群中完全支持ACID事务的目标,这将使ArangoDB与其他数据库解决方案区分开来。
  • 对于集群中的非分片集合,单个服务器的事务属性适用。这意味着,如果集合只有一个分片,因此驻留在一个DB服务器上,则多文档查询是ACID。

相关问题