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

来源:互联网 发布:js 边框 编辑:程序博客网 时间:2024/06/01 08:14

有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时延数据库很多功能都无法实现,只能服务于特定场景和诉求,只有一些特大体量的业务和公司,特定场景才需要;但总的来说,未来这是个发展趋势,会有成熟的一天的。


猜你喜欢

 

 

 

《大数据架构详解》第2次修订说明

Docker/K8S再学习

云观察系列:金山云梳理

云观察系列:群雄逐鹿cloud 2.0

京东云初体验

云观察系列:漫谈运营商公有云发展史

云观察系列:百度云的一波三折

云观察系列:阿里云战略观察

超融合方案分析系列(8)SmartX超融合方案分析

超融合方案分析系列(7)思科超融合方案分析




加入星球,获取一对一咨询

 

 

 

我建的知识星球,有星球可以加入。有门槛,66每年,还不够吃顿饭。:)



加入技术讨论群

 

 

 

为了方便大家相互交流学习,创建了一个公众号同名微信群:《大数据和云计算技术交流群》,人数已经900+,欢迎大家加下面我的微信,我拉大家进群,自由交流。


原创粉丝点击