写点什么

对话腾讯云窦贤明:云时代,我们到底需要怎样的数据库?

  • 2021-11-16
  • 本文字数:3057 字

    阅读完需:约 10 分钟

对话腾讯云窦贤明:云时代,我们到底需要怎样的数据库?

在数据量持续爆增、数据日益多样化的今天,传统数据库的迭代速度已经追不上数据的增速,且企业对数据库计算和存储能力的要求越来越高。面对当前的挑战和机遇,国产数据库厂商的研发创新速度不断加快,可以说云计算时代的到来,扭转了国外商业数据库一家独大的局面。


目前,国产数据库领域正处于百花齐放的状态,已经有越来越多的行业巨头参与到了数据库的建设中,腾讯云便是其中之一。为了更深入地了解腾讯云数据库的发展历程,从而进一步透视国产数据库的发展方向,InfoQ 和腾讯云数据库专家工程师窦贤明聊了聊云数据库的发展、前景与挑战。

单一数据库不能解决所有问题


进入基础软件领域已有十余年光景,窦贤明亲历了云数据库从零到一的建设过程,作为整个浪潮的参与者和见证者,他对技术、产品以及市场都有着更加深刻的认识。据他介绍,当开发人员在部署一个传统数据库时,需要涉及购买硬件、部署机房、建立网络、部署实例、规划资源等等一系列操作;在维护传统数据库时,还需要进行扩容、监控、告警、日志、参数设置等等操作,而云数据库的出现便能够更加轻松、简单地实现上述工作。


开发人员可以直接在云数据库控制台完成数据库的申请和创建,几分钟内便能准备就绪、投入使用,通过云数据库提供的控制台,还可以对所有实例进行统一管理。云数据库还支持物理备份、逻辑备份、备份恢复及秒级回档等功能,以此来保障数据的安全性。此外,传统数据库的价格高昂,动辄就需要投入数十万元的成本采购设备,而云数据库则能够按需付费,用多少付多少。


尽管相较于传统数据库,云数据库已经能够帮助企业解决大部分问题,但窦贤明告诉 InfoQ:“单一数据库不可能解决所有问题,云数据库在存储成本、HA 切换、网络瓶颈方面依然存在优化的空间。”


如下图所示,Master 和 RO 虽然对应的是同一份数据,但在存储上实际有六份数据;而每多加一个 RO 节点就会多出三份数据,也使得整个集群的存储副本数近一步放大;高吞吐的数量会使网络问题成为瓶颈,在共享存储侧也有大量网络浪费。


云原生数据库应运而生


目前,窦贤明与他团队研发的云原生 MySQL(TDSQL-C MySQL)、云原生 PostgreSQL(TDSQL-C PostgreSQL)便能够很好地解决存储成本、弹性扩容等问题。作为新一代企业级云原生分布式数据库,它的初衷是为了让运维人员更省心,让数据库的运维变得简单,具体来说,TDSQL-C 有以下产品特点:


  • 全面兼容:100% 兼容开源数据库引擎 MySQL 5.7 和 8.0 以及 PostgreSQL 10。几乎无需改动代码,即可完成现有数据库的查询、应用和工具平滑迁移。

  • 高性能:具有商用数据库的强劲性能, 最高性能是 MySQL 数据库八倍、PostgreSQL 数据库的四倍。

  • 海量存储:最高 128TB 的海量存储,无服务器 Serverless 架构,自动扩缩容,轻松应对业务数据量动态变化和持续增长。

  • 快速恢复:计算节点实现无状态,支持本地和跨设备的秒级故障切换和恢复;支持基于快照的秒级备份和回档。

  • 数据高可靠:集群支持安全组和 VPC 网络隔离。自动维护数据和备份的多个副本,保障数据安全可靠,可靠性达 99.9999999%。

  • 弹性扩展:计算节点可根据业务需要快速升降配,秒级完成扩容,结合弹性存储,实现计算资源的成本最优。


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 年里,国内数据库行业将会出现一个很大的变化,相信过不了多久,大家会认可国产数据库是更好的数据库。”而这句话背后,不仅仅代表了腾讯云数据库的信心,更体现出了国产数据库从业者的底气与实力。

2021-11-16 10:078306

评论

发布
暂无评论
发现更多内容

Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)

z小赵

大数据 kafka 实时计算

【openlayers】在vue中使用ol

德育处主任

Java html Vue 地图 openlayers

RocketMQ - 如何实现事务消息

Java收录阁

RocketMQ

ARTS打卡Week 02

teoking

objective-c LeetCode WebRTC

工作 vs 生活

shengjk1

写博客的那些事

shengjk1

【ARTS打卡】Week01

Rex

学习

【5月】本月读书学到了什么

Neco.W

创业 读书感悟 阅读量

做PO难,难于上青天

刘华Kenneth

敏捷 产品经理 决策 PO

使用Kotlin语言初始化数组

mengxn

数组 kotlin 初始化

游戏夜读 | 关于构图的困难

game1night

B端产品经理养成记(2):用户故事

涛哥 数字产品和业务架构

产品经理 需求 产品开发

转行程序员浅谈进程间的socket通信

WB

Linux 程序员 socket

John 易筋 ARTS打卡Week 02

John(易筋)

ARTS 打卡计划 ARTS活动 arts

ARTS week 2

刘昱

ARTS week2

紫枫

ARTS 打卡计划

工厂模式(四)泛型工厂之MyBatis Mapper代理

LSJ

Java 设计模式 泛型 工厂注册中心

钢铁侠马斯克之仰望星空

池建强

创业 马斯克 Space X

ARTS Week1

姜海天

Apache DolphinScheduler新特性与Roadmap路线

代立冬

大数据 数据中台 工作流调度 海豚调度 数据湖调度

ARTS打卡第一周5.25-5.31

我笔盒呢

RocketMQ - 高可用设计

Java收录阁

RocketMQ

如何用CSS选择符(数字开头) 杀死队友

德育处主任

Java html css3 大前端 Web

愚蠢写作术(1):怎么让你的标题被读者忽视

史方远

个人成长 写作

draw.io-取代visio的流程图绘制工具

Rice嵌入式开发技术分享

chrome vscode 写文章神器 draw.io

B端产品经理养成记(1):业务场景

涛哥 数字产品和业务架构

产品经理 需求 产品开发

MAC OS 下 HomeBrew 使用

耳东@Erdong

macos brew homebrew

Element-UI实战系列:Table+Pagination组件实现已选和全选功能

AR7

Vue 大前端 Element

你会写测试用例吗

不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...

JackTian

GitHub 学习 开源 程序员 编码

时代在变,产品运营能力很重要

punkboy

程序员 程序人生 产品经理 产品推荐 程序媛

对话腾讯云窦贤明:云时代,我们到底需要怎样的数据库?_云原生_郑思宇_InfoQ精选文章