单个ArangoDB集群的作用

描述

ArangoDB的企业版专注于解决企业级问题和高度安全的数据工作。各种功能(如SmartGraphs或SmartJoins)允许对图形和关系用例执行闪电般快速的查询,而360加密、LDAP集成和数据屏蔽则支持使用ArangoDB进行高度安全的工作。

ArangoDBOasis是ArangoDB的托管云,支持许多企业功能,如OneShard、SmartGraphs、SmartJoins和安全功能。

ArangoDB与功能丰富、速度快的Java驱动程序和SpringData集成一起,提供了一个可靠而灵活的包,可以快速适应不断变化的需求。

 

    数据中心到数据中心的复制    

在一个数据中心中运行分布式数据库,并将所有事务复制到另一数据中心。我们的解决方案是异步的,可以扩展到任意大小的集群。它具有容错性,没有单点故障。

每个公司都需要为所有重要系统制定灾难恢复计划。从运行在某些容器中的单个进程这样的小单元到最大的分布式体系结构,都是如此。尤其是对于数据库,这通常包括容错、冗余、定期备份和应急计划。数据存储越大,就越难想出好的策略。

因此,希望能够在一个数据中心中运行分布式数据库,并以某种方式将所有事务复制到另一个数据中央。通常,事务日志通过网络传输,以在另一个数据中心的另一个相同系统中复制所有内容。一些分布式数据存储内置了对多个数据中心感知的支持,并可以以全自动方式在数据中心之间进行复制。

ArangoDB3.3通过引入多数据中心支持向前迈进了一步,即数据中心到数据中心的复制。我们的解决方案是异步的,可以扩展到任意大小的集群,前提是数据中心之间的网络链路具有足够的带宽。它具有容错性,没有单点故障,并包括许多用于在生产场景中进行监控的指标。

    它的作用    

此功能允许您在两个不同的数据中心A和B中运行两个ArangoDB群集,并设置从A到B的异步复制。这意味着数据中心A中的群集A可以像往常一样用于读写操作,对数据的所有更改都通过网络复制到数据中心B中的另一个群集B。复制是异步的,即,在短暂延迟后(通常在几秒钟内),变化会出现在另一侧。

在数据中心a发生灾难(如网络连接完全丧失)的情况下,可以快速停止复制并开始使用数据中心B中的群集B作为群集a的替代品。稍后,当灾难结束时,可以使用群集a作为群集B的异步副本,或切换回a并继续复制到群集a。

    挑战    

在本节中,我们不想让您对技术细节感到厌烦,我们将在适当的时候为此发布一份白皮书。相反,我们希望强调这种方法的挑战,并概述我们为克服这些挑战而采取的措施。

单个ArangoDB集群是一个具有良好水平可扩展性的分布式系统。数据容量和查询性能(读写)都与使用的服务器数量成线性关系。自动分片导致数据的实际更改在所有服务器中同时发生。特别是,这意味着,从设计上讲,没有一个地方可以建立所有变更的总顺序。也就是说,我们正在处理大量数据同时更新的分布式混乱。变化率可能会有很大差异,我们将不得不处理较大的写突发。

同时,ArangoDB集群具有容错性。例如,如果数据中心中的一台服务器发生故障,ArangoDB集群可以轻松容忍这种损失,并且假设用户已将复制因子设置为至少2,则不会丢失任何数据,也不会丢失可用性。系统只需切换到使用另一台服务器,重新分配数据并继续运行,而不会影响查询性能。因此,任何适当的复制解决方案都必须满足集群A中这些透明的故障转移。

另一方面,安全问题和防火墙维护意味着,我们不容易让许多不同的进程与其他数据中心中的许多不同进程进行通信,但同样,我们也不容易通过不同数据中心中两个进程之间单个网络连接的瓶颈来移动所有更新。

显然,整个复制系统是分布式系统的分布式系统,因此必须具有可扩展性和容错性,并且没有单点故障。

所有这些挑战决定并影响了我们解决方案的设计。  

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

全部0条评论

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

×
20
完善资料,
赚取积分