本文最初发布于 XX 博客,由 InfoQ 中文站翻译并分享。
总部位于纽约的 CockroachDB 致力于为全球客户群不断增长的互联网成长型公司提供服务,他们针对其分布式 SQL 数据库CockroachDB推出了一项托管服务CockroachCloud。
Cockroach Labs首席执行官兼联合创始人Spencer Kimball在接受 The New Stack 采访时表示,这项服务解决了运行全球性数据库的困难,同时保持了向终端用户提供即时服务所需的低延迟。
最初,CockroachCloud(现在是 Beta 版)可以在谷歌云平台和 Amazon Web Services 上使用,通过他们各自的市场。当该公司开始对这项服务收费时,将基于所使用的节点数,但会随着时间的推移转向基于使用的定价。
分布式、不断复制的数据库当然可以增加系统的弹性——你不希望将所有数据保存在同一个位置、同一个提供商、甚或同一个地区,以防发生大规模停机。传统的异步主动/被动复制方法在出错时会丢失数据。但是,Kimball 认为,在为全球用户提供服务时,仅仅复制数据集,即时是连续地跨几个地理上分布的数据中心,也是不够的。
他说,“在很多情况下,你不想把用户的数据到处放”。例如,不同的国家有不同的数据保护法律。更重要的是,你希望将数据放在离用户较近的位置,从而最小化延迟。比如,人在伦敦,数据在美国,当数据跨越大洋时,将带来漫长的等待。
Kimball 说:“你必须平衡所有这些事情之间的关系:你想分散数据,但同时,你又想让数据离用户近一些。”
CockroachDB 不是简单地跨所有节点复制所有数据,而是进行一致性的地理复制:分区是基于地理位置的。当添加新用户时,他们被添加到最接近其首选位置的分区。主副本保存在离客户最近的数据库实例中,然后才跨其他位置复制。Kimball 解释说,如果用户访问一个较远的位置,那么他们的数据可以被传送到最近的节点。
Kimball 说:“Cockroach 可以透明地做所有这些事情。我们把复杂性保持在可控范围内。”
新服务本身的设计目的是消除运行分布式数据库的所有管理难题,使用户能够扩展分布式事务数据库并在全球不断地复制它。管理分布式应用程序(如数据库)本来就比较困难,尤其是在全球范围内。
“我们现在花了一年的时间来提高一个全球化集群的自动化程度,并使其运转良好。你不会希望一个(不是服务提供商的)公司做同样的事情。他们不会把时间花在做这样的事情上。”
Garter 在研究中发现,云数据库系统现在是大多数企业工作负载的常态,内部部署正日益被归入“遗留状态”。该公司估计,从 2017 年到 2018 年,整个数据库管理系统市场增长了 18.4%,其中云 DBMS 占 68%。
在云计算领域,“Cockroach”将与谷歌的Spanner竞争,尽管它提供了轻松让数据库跨多个云提供商的能力。Kimball 认为,由于存在不同的需求或者是收购,大多数公司都将不可避免地成为多云用户。
10 月 16 日,该公司在纽约举行的首次ESCAPE/19多云会议上公布了这项新服务。
查看英文原文:
Cockroach Labs Launches CockroachCloud, a Fully-Managed Distributed SQL Database
评论