简单梳理跨数据中心数据库

有2年没有摸数据库了,重新学习下。数据库是IT系统的基石,小到一个个人站点,大到类似Google,阿里,腾讯这种大公司,里面都运行着各种各样的数据库,成千上万的人才还在继续开发和维护数据库。

数据库大牛stone breaker前两年还拿到了图领奖,了不起的成就。数据库理论这些年没啥大的突破,还是70年代提出来的关系模型,ACID等等。不过不表示数据库的发展停下来了,尤其是随着需要处理的数据和业务越来越大,数据库规模,性能越来越强。数据库的发展主要体现在工程能力,新硬件的使用上。

我个人理解就当前而言,技术难度最高,最拿得出手的还是Google的spanner,Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。这个太牛了,技术+工程实现能力+基础设施都要到达一定的规模和量级才能催生这样一种数据库出来。

下面简单介绍下Google的Spanner,到现在为止应该都只有论文,没有公布实现:

Google的Spanner是个可扩展,多版本,全球分布式还支持同步复制的数据库。他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能 做到这些,离不开一个用GPS和原子钟实现的时间API。这个API能将数据中心之间的时间同步精确到10ms以内。因此有几个给力的功能:无锁读事务, 原子schema修改,读历史数据无block。

Google在12年公布了spanner的论文之后,受到启发的团队和公司就不少了,比较有名气的就是TiDB和CockroachDB两家。

一、CockroachDB

CockroachDB的思路源自Google的全球性分布式数据库Spanner。其理念是将数据分布在多数据中心的多台服务器上,实现一个可扩展,多版本,全球分布式并支持同步复制的数据库。2012年Google公布了Spanner的论文,但是这个项目本身是不开放的。CockroachDB(创始人并不是Spanner项目参与者)的出现改变了这一点,其目标是CockroachDB打造一个开源、可伸缩、夸跨地域复制且兼容事务的ACID特性的分布式数据库,它不仅能实现全局(多数据中心)的一致性,而且保证了数据库极强的生存能力,就像Cockroach(蟑螂)这个名字一样,是打不死的小强。

1、CockroachDB是在2014年下半年推出了Alpha版,只实现了规模很小的一个功能子集。

2、Cockroach Labs是CockroachDB母公司,由前Google软件工程师Spencer Kimball、Peter Mattis以及Ben Darnell成立于2015年,总部位于美国纽约。现有员工30人左右。

3、CockroachDB母公司Cockroach Labs获得融资历史:

2015年A轮625万美元

2016年A1轮2000万

2017年2700万美元

总共5325万美元。

4、CockroachDB选择拥抱的是postgresql的生态,选择兼容的接口是postgresql,只支持一部分SQL接口,尤其是postgresql扩展能力是不支持的。

5、百度选择了CockroachDB,华为也有小部分人在研究CockroachDB

二、TiDB

1、TiDB也是受spanner启发,和CockroachDB选择不同的是,基于MySQL开发,兼容的是MySQL接口。

2、资深 Infrastructure工程师刘奇,黄东旭开发出了新型开源分布式关系型数据库 TiDB ,2015年拿到风投后成立了PingCAP。

3、腾讯选择支持Tidb,在腾讯云上集成了Tidb,服务名称叫HTAP数据库。

https://cloud.tencent.com/product/tidb?from=timeline&isappinstalled=0#userDefined10

4、PingCAP B轮拿到了1500万美金的投资。

三、Oceanbase

准确的说,阿里的Oceanbase和前面两个不太一样,瞄准的也不是跨数据中心,而是单数据中心的数据库的扩展。架构上也是将查询引擎,存储引擎分开,底层的存储引擎基于Paxos协议来保证可靠和一致性,这里就不展开说了。阿里云上当前主推的是类似AWS Aurora的POLARDB。

阿里云为什么没有推跨DC的TiDB或者CockroachDB,或者将自己的Oceanbase扩展一下,做到跨数据中心。特意问了下阿里数据库云的一个负责人,他的意见主要目前跨DC还是限制太多(功能、时延),场景有限,没有业务买单,可替代性太强了,所以现在还在观察中。

四、写在最后

总的来说,我比较同意阿里同学的意见,硬件发展没有跟上,数据中心时延不解决,目前的跨DC时延数据库很多功能都无法实现,只能服务于特定场景和诉求,只有一些特大体量的业务和公司,特定场景才需要;但总的来说,未来这是个发展趋势,会有成熟的一天的。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云服务器购买

腾讯云服务器租赁价格-购买腾讯云服务器需要多少钱?

初次购买腾讯云服务器的使用者,很多都不清楚腾讯云服务器的价格。就会在网上搜索有关腾讯云服务器的价格。但是网上搜索出来的介绍腾讯云服务器的价格,很多都是过时的,并...

2.9K3
来自专栏数据和云

2016年度中国Oracle数据库使用现状分析报告

Oracle数据库从20世纪末就已开始在国内使用,在经历了20多年的迅猛发展后,目前已经占据了全球数据库的首位,在国内拥有数十万的技术粉丝与数万家企业用户,但到...

3579
来自专栏java一日一条

源代码的寿命

看看你现在日常工作中的代码。已经运行了多久了?代码有多老了?有六个月?一年?可能都有五年这么久了吧?十年?二十年呢?!这样的代码有多老了?不到10%?还是一半?...

791
来自专栏FreeBuf

合法练习黑客技术?这15个网站也许可以帮到你

俗话说得好,最好的防守就是进攻,而这句话同样适用于信息安全领域。接下来,我们将给大家介绍15个最新的网络安全网站。 无论你是开发人员、安全专家、审计人员、或者是...

2627
来自专栏云计算D1net

如何管理好企业的数据

灾难恢复没有银弹。一旦发生停机,企业高管们会条件反射地以最快地速度采取各种灾难恢复手段。 虽然大多数IT主管和数据管理专家承认没有万全的安全解决方案来保...

3234
来自专栏编程一生

谈谈服务治理

1322
来自专栏Java架构沉思录

知乎大V@Phodal:小白也能看懂的Web安全进阶指南

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

1373

云监控入门

云监控是一个对基于云的服务、应用程序与基础架构进行评估、监控与管理的工作。公司利用各种应用程序监控工具来监视基于云的应用程序。下面我们来看看它是如何工作的,以及...

2387
来自专栏数据和云

招商银行王龙:金融科技银行数据架构设计的13条守则(含PPT)

作者简介:王龙,招商银行数据中心MySQL资深架构师,将MySQL引入招商银行,并从无到有建设MySQL生态,解决了MySQL在银行领域使用的诸多问题。

1515
来自专栏云计算D1net

你为什么需要在云端构建Linux服务器?

云端Linux服务器比以往来得成本更低、性能更好。 要是你之前还没有启动过云端Linux服务器,眼下也许正是大好时机。原因何在因为你在短短几分钟内就能安装好一台...

5007

扫码关注云+社区