前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单梳理跨数据中心数据库

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

作者头像
大数据和云计算技术
发布2018-03-08 16:59:12
1.8K0
发布2018-03-08 16:59:12
举报

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据和云计算技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档