摘要:Google 今日宣布了其 Cloud Spanner 云端数据库服务的 Beta 版测试启动。此次 Google 将 Spanner 商业化,也进一步验证了 NewSQL 作为未来数据库发展方向的正确性。
Cloud Spanner 是构建在 Google Cloud Platform(GCP)平台上的全球级分布式关系型数据库服务,也是 Google 长期以来在内部使用的 Spanner 数据库的公有云版本。
Spanner 发布于 2012 年 9 月,是 Google 的全球级的分布式数据库。整个集群分布在全球多个数据中心的数百万机器中。除了惊人的扩展性之外,还提供外部一致性以及高可用性。Spanner 及其之上的 F1 一起支撑了 Goolge 广告业务的后台,替换掉 MySQL sharding 集群。Spanner 的发布让工业界第一次看到在如此大的规模上运行的 NewSQL 系统。
长期以来这套最先进的数据库系统只为 Google 内部的业务服务,无法满足其它企业对数据库水平扩展、高可用、强一致的需求,市场需要一款能够帮助这些企业改变困境且可被广泛使用的产品。
TiDB 的诞生是受到 Spanner 论文的启发,其核心原理和实现架构都与 Spanner 高度相似。作为 Spanner 的开源实现,TiDB 具备分布式强一致性事务、在线弹性水平扩展、故障自恢复的高可用、跨数据中心多活等核心 NewSQL 特性。TiDB 打破了 RDBMS 和 NoSQL 之间的界限,融合了 OLTP 和 OLAP 应用使用场景。使用户专注于业务层的开发,而数据层的水平扩展,高可用,故障转移,一致性分布式事务,在线变更 Schema,复杂 Query,统统交给数据库本身来解决。
作为一款开源产品,TiDB 立足于社区,使用的门槛和成本更低。同时,上层完整地实现了 MySQL 协议,兼容市面上大多数 MySQL 工具,用户迁移使用的成本更低,体验上也与原有方案非常接近。并且,TiDB 还提供了完备的周边工具,包括数据导入导出,数据迁移,增量备份。既可以作为一个 MySQL 的 Slave 实时同步,也可以通过自身的 Binlog 将数据同步到其它异构的数据库系统,通过 Binlog 机制也很容易实现消息订阅/消费模型,更加灵活地与用户的业务架构进行融合。商业版本更是提供完备的集群部署、诊断监控、安全审计工具。
另外,考虑到一些对数据安全敏感的用户(例如银行、券商、政府机关)很难将自己的数据放在公有的云服务中,这些用户更希望能有私有部署方案。TiDB 并不绑定某个云平台,与用户现有的架构集成更加灵活,而且便于私有化部署。
此次 Google 将 Spanner 商业化,也进一步验证了 NewSQL 作为未来数据库发展方向的正确性。作为 NewSQL 的代表,目前 TiDB 已正式用于生产环境,现有上线用户数十家,POC 150 多家。