NuoDB
by NuoDB

了解澳门比分网址分片的红人和有问题

 

澳门比分网址 分片 是一个看似无法克服的问题的不完美解决方案。让我们来看看为什么。

分片是一种通过在多个澳门比分网址中分割数据来扩展澳门比分网址的技术。让我们假设你有一个带有所有用户的运行澳门比分网址,最后一个名称a到z.它一直很好地表现良好,但随着您的增长,澳门比分网址也增长。很快,负载压倒了澳门比分网址,使其无法处理所有请求。 

缩放澳门比分网址的限制

传统的SQL澳门比分网址旨在进行扩展澳门比分网址,这意味着它们旨在通过移动到更大,更强大的硬件来更快或处理更多吞吐量。如果您有预算和耐心,它可以很好地工作。不幸的是,所需的成本和停机通常使得该解决方案非常没有吸引力。 

大多数人想要做的就是能够 规模 除了与Up。他们希望能够从一个服务器替换一个大机器,而是能够从一台服务器弹出到两个服务器到x X数量的服务器。这是可扩展性的现代理念。  

如果你合作了 亚马逊 or Google Compute引擎 或任何其他类型的公共云基础架构,或任何私有云,这就是你所做的。您已开始使用一个主机,或少数主机,并且随着您所需要的容量,您已将其推向在线。实际上你不能总是知道什么时候会有尖刺。虽然您可能可以预测特定的假期将带来繁忙的交通和计划,但是,它可能会因为突然需求而感到惊讶。您希望能够在您需要的情况下在线联机并匆忙进行新的能力。

正在换掉解决方案?

对此问题的常见解决方案已经将澳门比分网址拆分为两个:澳门比分网址1将包括姓氏A到L的每个人,并且澳门比分网址2将包括姓氏M到Z.以及该决定,我们已经开始了已知的内容“澳门比分网址分片”。

让我们来看看优势。从一个澳门比分网址到两个不同的澳门比分网址,我们现在拥有两台机器,两倍的内存资源,两倍的CPU电源,以及磁盘IO吞吐量的两倍。结果?现在我们可以处理客户端连接数量的两倍。 

当然,问题是现在我们有两个单独的澳门比分网址。 

澳门比分网址分片的挑战

分叉澳门比分网址通常需要对应用程序工作方式的重大更改,以便您的应用程序知道哪些澳门比分网址是给定数据所在的。让我们看看实践中的样子。 

在两个或多个不同的澳门比分网址之间拆分我们的数据集帮助我们缩放了缩放,但是当我们想要做一个涉及澳门比分网址1和澳门比分网址2中的人的查询时会发生什么?您不再有一个可以跨越这两组数据的单一事务。您的交易的范围仅限于澳门比分网址1或澳门比分网址2 - 没有十字路口。该编程模型现在与我们的部署模型密切相关 - 即,与我们的数据生活的地方相关联;它是如何分配出来的;我们在线带来了多少主机。 

这使得开发人员很难,因为开发人员必须非常仔细地思考他们的应用程序逻辑,如何最好地加入碎片,如何与其基础设施相关,以及他们预期基础设施如何缩放。这意味着,从您的运营角度来看,您必须非常仔细地仔细考虑您如何划分的碎片,您如何缩放,以及它是否对您的应用程序具有不利影响,或者您的申请是否甚至可以支持你想要达到的规模。它也很脆弱。您可能有组件失败,您可能会丢失数据;你真的想考虑一下这个逻辑澳门比分网址,但你不能。

正如您所看到的,澳门比分网址分片已部分解决了非常具有挑战性的问题 - 需要扩展到需求的必要性。但如上所述,这种方法还引入了脆弱性,发展复杂性和运营困难。此外,拆分需求相当困难,这意味着这种不完美的解决方案仍然没有解决在不可预见的峰期间增加容量的需要。

在我的下一篇文章中,我将讨论换泥的替代品。与此同时,看看这个突出显示的视频 如何在不分叉的情况下构建可扩展的应用程序.