写点什么

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

  • 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:078320

评论

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

百度希壤元宇宙平台上线首个汽车数字展厅,领克探索汽车营销新方式

百度大脑

Python 三十个实践、建议和技巧,各种风格的Python面试题进来了解一下

程序媛可鸥

Python 程序员 面试

Python 基础教程:动态类型模型(1),阿里巴巴Python面试题答案

程序媛可鸥

Python 程序员 面试

Python 基础教程:动态类型模型,超通俗解析

程序媛可鸥

Python 程序员 面试

国内外最好用的18个协同办公系统盘点

爱吃小舅的鱼

Flutter 封装文本输入框

岛上码农

flutter 跨平台 Android开发 3月月更

DDD 实战(5):战略设计之上下文映射和系统分层架构

深清秋

DDD 软件架构 生鲜电商系统 3月月更

kudu参数优化设置,让集群飞起来~,2021年Python开发陷入饱和

程序媛可鸥

Python 程序员 面试

模块 6 作业 拆分电商系统为微服务

王大胖

Kafka server,Python面试

程序媛可鸥

Python 程序员 面试

Python GUI编程:关于 tkinter 怎么才能写出更好看的界面

程序媛可鸥

Python 程序员 面试

2022 ARTS|Week 11

MiracleWong

算法 写作 ARTS 打卡计划

python DataFrame数据格式化(设置小数位数,百分比,Python常用面试题

程序媛可鸥

Python 程序员 面试

python pandas库统计分析基础必备知识汇总,2021Python网络编程总结篇

程序媛可鸥

Python 程序员 面试

Python 实现七大排序算法,Python中高级面试必知必会

程序媛可鸥

Python 程序员 面试

VuePress 博客之 SEO 优化(四) Open Graph protocol

冴羽

Vue 前端 vuepress SEO 博客搭建

k8s组件的梳理,Glide的缓存机制

程序媛可鸥

Python 程序员 面试

测试开发【Mock平台】02基础:Java Spring Boot框架知识

MegaQi

测试工具 测试发开 测试平台开发教程

你的 vscode 配置真的舒服么?

道道里

首届实时渲染3D动画创作大赛最佳人气奖?你说了算!

3DCAT实时渲染

3D 虚幻引擎 实时渲染 ue

图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略

浅羽技术

Java RabbitMQ 中间件 消息队列 RabbitMQ延时队列

Python 使用 PyQt5 开发的关机小工具分享,为什么阿里的程序员成长如此之快

程序媛可鸥

Python 程序员 面试

Python 命令行参数详解,Pythonui基础

程序媛可鸥

Python 程序员 面试

Python 深度集成的神器级 IDE,从此告别Excel!,成为阿里P7Python架构师到底有多难

程序媛可鸥

Python 程序员 面试

Redis的数据类型实践

javaadu

Redis 核心技术与实战 Redis 数据结构

C#调用C++动态库接口函数和回调函数

DS小龙哥

3月月更

一个配件、一块面料,制造企业流水线因为AI变了新模样

百度大脑

【C语言】 扫雷游戏(保姆级的实现过程)

謓泽

3月月更

即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4

Geek_1ef48b

一文读懂网关中间件-Nginx

Linux服务器开发

nginx 中间件 api 网关 Linux服务器开发 Linux后台开发

Kafka 常用命令总结,给Python程序员的一些面试建议

程序媛可鸥

Python 程序员 面试

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