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

有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 条评论
登录 后参与评论

相关文章

来自专栏人称T客

视开源为癌症 微软拥抱癌症是找死还是自杀?

这两天大家都在讨论微软开源的事情,作为一名曾经的Java程序员,我已经有十年没有碰到代码了,除了”hello World”那句能通往开发世界的问候语外,我已经不...

2783
来自专栏PingCAP的专栏

TiDB 在 Mobikok 广告系统中的应用和实践

Mobikok(可可网络)成立于 2013 年,是一家快速成长的移动互联网营销公司,专注于移动 eCPM 营销。总部在中国深圳,聚焦于订阅 offer 的海外流...

3845
来自专栏织云平台团队的专栏

新时代运维监控能力的进化——天网云用户体验监控平台实践

运维团队审视业务质量监控能力时,有九个问题值得思考,九问运维后,我们重新审视传统的运维监控能力是否仍然能够满足业务对质量的要求,结合当下移动互联网与新兴的业务形...

5722
来自专栏TEG云端专业号的专栏

为数据赋能,方兴未艾 - Mysql在腾讯先驱实践专题交流精华

2059
来自专栏SDNLAB

开源存储,你不知道的六大优势

1374
来自专栏Java学习网

10个使用Java最广泛的现实领域

10个使用Java最广泛的现实领域 如果你是一个初学者,刚刚开始学习Java,你可能会想Java有什么用呢?除了Minecraft貌似也看不到其他用Java写的...

2348
来自专栏ThoughtWorks

数字化企业的交付基础设施 | 洞见

在前文中我们说到,传统企业在逐步建设自己的数字平台过程中,需要抓住交付基础设施、API和架构治理、数据自服务、创新实验基础设施和监控体系、用户触点技术这五个支柱...

3405
来自专栏PingCAP的专栏

专访 | 黄东旭:如何运用 HTAP 数据库帮到你?来听听 TiDB 的故事

黄东旭提到,自己与朋友一同创业,理由很简单,源自一个需求。彼时,黄东旭与刘奇(现任 PingCAP CEO)同属豌豆荚的分布式存储团队,当时的他们开源了 Cod...

3748
来自专栏数据和云

恩墨有约上海站之小团圆

这次上海的两日,倍觉凄风冷雨之寒,还好有咖啡、新朋,聚而论道,谈一谈大家的技术之旅。 流水账记录一下大家闲聊的话题。 在Oracle和DB2之间的选择,在Ora...

3295
来自专栏PingCAP的专栏

TiDB 在 G7 的实践和未来

2010 年,G7 正式为物流运输行业提供面向车队管理的 SaaS 服务,经过持续创新,通过软硬一体化的产品技术能力,致力于数字化每一辆货车,以实时感知技术创造...

2375

扫描关注云+社区