ArangoDB企业版:OneShard具有集群容错的单服务器性能和语义

描述

并非所有用例都需要水平可扩展性。在这种情况下,OneShard部署提供了一个切实可行的解决方案,通过大量减少集群内部通信来显着提高性能。

启用OneShard创建的数据库仅限于单个DB-Server节点,但仍会同步复制以确保弹性。此配置允许在分片领导上运行具有ACID保证的事务。

对于大多数Graph用例和重连接查询,强烈建议使用此设置。

服务器

与分片集群不同,协调器在不同的DB-Server节点上分配对分片的访问,收集和处理部分结果,OneShard设置中的协调器将查询执行直接移动到相应的DB-Server以进行本地查询执行。协调器仅接收最终结果。这可以大大减少协调器的资源消耗和通信工作。

缩放图

对于大于单个DB-Server节点的图,您可以使用SmartGraphs功能有效地限制Coordinator和DB-Servers之间的网络跃点。

数据库创建

为了利用DB-Server节点上的本地执行,您可以创建一个数据库,通过将sharding选项设置为“single”值,默认情况下将集合限制为单个分片。复制因子为3可确保有两个副本用于弹性。

服务器

之后,在该数据库中创建集合时,您无需担心其他设置。它们将自动成为同一OneShard配置的一部分。

集群启动选项可用于限制新数据库使用OneShard。

多租户应用程序

要在多租户SaaS应用程序中分离来自不同客户端的数据,您可以使用专用数据库,并且仍然可以通过集群设置利用可用性和扩展优势。

虽然每个客户的数据都适合单个节点,但越来越多的租户增加了扩展集群的需求。OneShard可以将更多节点添加到集群中,同时仍允许查询在单个DB-Server上高效执行。

服务器

领导分片上的ACID事务

在ArangoDB中,您可以从可调整的事务保证中受益,您可以在需要时增加这些保证。为确保持久性,waitForSync请在查询级别激活以等待数据修改已写入磁盘。收集选项writeConcern:2确保事务只有在至少一个副本同步时才成功。RocksDB引擎支持大型文档操作的中间提交。为了防止单个查询出现这种情况,您可以相应地增加RocksDB intermediateCommitSize(默认512MB)intermediateCommitCount。在OneShard设置中使用StreamTransactions 和这些提到的选项,您可以获得领导分片上的多文档、多集合ACID事务。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分