在数据量持续爆增、数据日益多样化的今天,传统数据库的迭代速度已经追不上数据的增速,且企业对数据库计算和存储能力的要求越来越高。面对当前的挑战和机遇,国产数据库厂商的研发创新速度不断加快,可以说云计算时代的到来,扭转了国外商业数据库一家独大的局面。
目前,国产数据库领域正处于百花齐放的状态,已经有越来越多的行业巨头参与到了数据库的建设中,腾讯云便是其中之一。为了更深入地了解腾讯云数据库的发展历程,从而进一步透视国产数据库的发展方向,InfoQ 和腾讯云数据库专家工程师窦贤明聊了聊云数据库的发展、前景与挑战。
进入基础软件领域已有十余年光景,窦贤明亲历了云数据库从零到一的建设过程,作为整个浪潮的参与者和见证者,他对技术、产品以及市场都有着更加深刻的认识。据他介绍,当开发人员在部署一个传统数据库时,需要涉及购买硬件、部署机房、建立网络、部署实例、规划资源等等一系列操作;在维护传统数据库时,还需要进行扩容、监控、告警、日志、参数设置等等操作,而云数据库的出现便能够更加轻松、简单地实现上述工作。
开发人员可以直接在云数据库控制台完成数据库的申请和创建,几分钟内便能准备就绪、投入使用,通过云数据库提供的控制台,还可以对所有实例进行统一管理。云数据库还支持物理备份、逻辑备份、备份恢复及秒级回档等功能,以此来保障数据的安全性。此外,传统数据库的价格高昂,动辄就需要投入数十万元的成本采购设备,而云数据库则能够按需付费,用多少付多少。
尽管相较于传统数据库,云数据库已经能够帮助企业解决大部分问题,但窦贤明告诉 InfoQ:“单一数据库不可能解决所有问题,云数据库在存储成本、HA 切换、网络瓶颈方面依然存在优化的空间。”
如下图所示,Master 和 RO 虽然对应的是同一份数据,但在存储上实际有六份数据;而每多加一个 RO 节点就会多出三份数据,也使得整个集群的存储副本数近一步放大;高吞吐的数量会使网络问题成为瓶颈,在共享存储侧也有大量网络浪费。
目前,窦贤明与他团队研发的云原生 MySQL(TDSQL-C MySQL)、云原生 PostgreSQL(TDSQL-C PostgreSQL)便能够很好地解决存储成本、弹性扩容等问题。作为新一代企业级云原生分布式数据库,它的初衷是为了让运维人员更省心,让数据库的运维变得简单,具体来说,TDSQL-C 有以下产品特点:
弹性扩展:计算节点可根据业务需要快速升降配,秒级完成扩容,结合弹性存储,实现计算资源的成本最优。
TDSQL-C MySQL / PostgreSQL 基于共享存储实现了存算分离架构,Master 和 RO 是基于一份数据放在共享存储中,RO 只从共享存储中读取所需的 page,不需要写入存储,并且 RO 可以从主库接收 WAL 在缓存中重放,以此保持缓存中 Page 持续更新。这样一来,云原生数据库便解决了业务容量和计算节点的扩容的问题。TDSQL-C 还能够自动判断计算层面的资源,实现计算关停和热启动,且启动时间大概在 3s 以内即可完成。
在 11 月 4 日的腾讯数字生态大会 Techo Day 上,腾讯云副总裁李纲还宣布了云原生数据库 TDSQL-C 的全新升级:吞吐率提升 50%、将 IO 延迟降低 80%,整体性能提升 85%;带来全新形态 Serverless,通过全局工作流预测以及动态扩缩资源,进一步降低成本,做到真正的按需计费。
在腾讯云发布的Q3财报中,也首次提到数据库对企业服务的贡献,财报显示:“我们的PaaS解决方案TDSQL数据库已经被3000多个来自金融、公共服务和电信垂直行业的客户采用。我们为中国十大银行中的六家提供服务,并在不同金融机构的核心系统中不断增加渗透,展示了我们在数据安全、可靠性和一致性方面的能力”。李纲表示,国产数据库即将进入规模化阶段,未来五年,腾讯云数据库即将助力1000家金融机构实现核心系统数据库国产化。
在窦贤明看来,现阶段云数据库能够解决企业怎样的问题想必已经没有分歧,但对于一些传统企业来说,毕竟要将自己所有的业务数据迁移到公有云上,安全性成了他们最大的顾虑。关于这一点,他表示:“扭转行业内的固有认知是当下的一大挑战,云是一门信任的生意,需要长期积累的过程才能扭转这样的局面。”
那么,对于腾讯云数据库来说,怎么做才能加速对行业的渗透?“只要攻克了最为严苛的领域,就能证明我们可以满足绝大多数企业的需求。”窦贤明给出了这样的答案。而由于金融领域本身的业务特点,使其在数据一致性、高可用,性能成本以及水平伸缩等方面都有非常严苛的要求,也因此,金融领域成为腾讯云数据库势必要攻克的一块高地。
腾讯云副总裁李纲也曾公开表示:“国产数据库的发展一般会经过互联网企业、民生政务、传统行业应用、金融核心业务这几个阶段的打磨,其中金融行业对数据库要求最为苛刻,不仅数据容错度低,而且还要符合信息安全等级规范。”
作为国产分布式数据库的重磅产品,TDSQL 在背后支撑了全国第七次人口普查、防疫健康码、张家港农商行核心系统的落地应用等等,且服务了国内前 10 大银行中的 6 家;在政务、电信运营商等领域,也已经服务了超过 3000 家金融政企客户。此外,在保险行业,TDSQL 正在帮助太平洋保险集团实现全面数据库国产化。在这些金融及政务项目中,TDSQL 的 Oracle 兼容性得到了充分验证,兼容度高达 98% 以上,这能帮助业务在极短时间内,极小业务改动量的情况下,快速完成测试验证和上线。
在采访过程中,窦贤明还为我们介绍了一个“微服务 + 国产分布式数据库”的架构案例:昆山农商行将新核心系统划分成公共服务微服务集群、账务微服务集群和历史微服务集群,并把这三个微服务集群运行在一套 TDSQL 集群中。由于 TDSQL 保障了微服务间一致性读的问题,使得企业在应用微服务组织结构的同时,也能解决存储分布式扩容的问题。
纵观腾讯云数据库产品家族,包含了关系型数据库、非关系型数据库以及数据库迁移、智能运维、可视化平台等相关应用。除了兼容主流的 MySQL、MariaDB、Redis、Mongo 等开源技术,腾讯云数据库也有内部自研的产品分布式数据库 TDSQL 和云原生数据库 TDSQL-C,基于这样多点开花的局面,也让我们不禁产生了一个疑问:面向未来,腾讯云数据库重点突围的方向会是什么?
“稳定、安全、易用,高效、成本低”窦贤明这样告诉 InfoQ,由于基础软件与应用软件在迭代速度上有着很大的不同,所以它不可能一天一个新概念。在他看来,做数据库要学会坐冷板凳,需要朝以上五个基本能力持续演进、迭代并逐步做到极致。窦贤明介绍说:“当前我们已经做到了 99.95%,未来需要朝 99.99%,甚至更高的目标去努力。”因为当云数据库没有了稳定性、可靠性、安全性等最基本的东西,一切都将成为空谈,也势必会被市场所抛弃。
“在接下来的 5~10 年里,国内数据库行业将会出现一个很大的变化,相信过不了多久,大家会认可国产数据库是更好的数据库。”而这句话背后,不仅仅代表了腾讯云数据库的信心,更体现出了国产数据库从业者的底气与实力。