400 050 6600
数据分析师

手机号

验证码

30天自动登录
当前位置:首页 - Q&A问答

Q&AQ&A问答

大数据如何在混乱中蓬勃发展?

来源:CPDA数据分析师网 / 作者:数据君 / 时间:2020-09-21

混乱的工程是一项艰巨的,高成本的工作

这并不意味着具有单个Web服务器和单个数据库的环境,只有当您使用运行成群的服务和复制数据库的大型服务器集群时,这才是值得的,理想情况下跨多个托管服务提供商或可用性区域,在这样的环境中,为了满足您的需求,服务不断旋转,冗余是至关重要的。由于您有意在网络中引起混乱,或者仅仅是因为在这种规模上发生混乱,您确实需要默认情况下已分布并具有自我修复功能的数据库。

 

与存储在多个服务器上的数据的多个副本一起运行

在服务器或网络出现故障的情况下(只要有足够的服务器可用),群集将选择一个新的主服务器并继续运行。如果可用的服务器太少,则群集将进入只读状态,直到网络问题解决并且服务器可以再次达到法定人数,集群可以跨多个可用性区域甚至主机平台运行,以实现额外的冗余。如果您曾经梦寐以求失去整个可用区并保持服务可用,将能够为您提供帮助。实际上,如果您希望所有这些工作都得到照顾,则托管数据库解决方案可以支持多个可用性区域,而无需您全力以赴-只需选择该选项即可。

 

在困难的网络条件下得到证明

在发布过程中,我们全力以赴地运行复杂的网络测试-如此之多,以至于我们为此构建了自己的工具,如果出现网络分区或节点故障,会优先考虑一致性而不是可用性,该服务支持自动重试写入,从而在群集暂时不可用的情况下(例如在群集内的选举期间)增加了可用性的可能性,而无需手动将此功能添加到您的应用程序代码中,作为每个版本的一部分,我们运行测试,这些测试会引起难以再现的错误,并在极端故障场景(包括同时的网络分区,系统时钟漂移以及节点反复崩溃)的情况下评估数据的正确性和安全性,这样设计的目的是,在每种情况下,当网络分区在群集上时,群集都会重新组合在一起而不会丢失任何数据。

 

为了确保数据库符合要求的正确行为,我们建立了一个模糊测试框架

该框架采用我们现有的测试套件并启发式地对其进行变异,从而创建混乱的输入以揭示未经测试的代码路径中的错误,包括一个功能强制节点故障转移,这样就可以确保你的服务做好自己本分的可用性问题的情况下,尽管始终是按设计分发的,以确保该核心功能现在比以往任何时候都更好。镜像读取意味着在发生故障转移的情况下,辅助服务器已准备就绪,可以使用预热的缓存。可恢复的初始同步可确保添加到群集中的新服务器可以稳健地处理间歇性的网络错误,同时可以与群集的其余部分保持同步,流拓扑更改可确保在节点故障或维护事件后选择新的主数据库时,群集拓扑更改现在可实时流回驱动程序。结果,客户端可以立即对集群状态更改做出反应,并根据需要切换打开的连接。

 

设计为分布式

在混乱的环境中,普遍监控至关重要,集群甚至都可以轻松地从低级别进行监控。数据库为您提供变更流-直接,流式访问对数据进行的操作,提供了在此平台上构建的无服务器功能,以允许开发人员基于此功能构建和部署JavaScript触发器。

 

无模式设计适合敏捷的微服务体系结构

因此您可以更改服务的数据模型以适应不断变化的需求-无需进行大型数据库模式迁移的风险,困难或成本。当然,如果您需要的话,它也支持模式验证,,借助数据库的同步功能,您可以构建可处理不可靠网络的移动或其他边缘应用程序,继续保持可用状态并在本地存储数据,直到下次它们联机时(数据再次与服务器同步),如果您需要一个分布式数据库来处理部分群集不可用的数据,可以将数据托管在世界各地的节点上,并且可以以细粒度的级别进行监视,那么您应该在下一个项目中考虑使用。

  客服热线:400-050-6600

商业联合会数据分析专业委员会

 

 

Prev article

在语音识别中数据多样性的重要性是什么?

Next article

工作日如何加倍处理数据和分析决策智能与商业智能

数据分析师

报名咨询

数据分析师

报名缴费

数据分析师

客服中心

数据分析师

课程服务

数据分析师

认证服务