写点什么

MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?

  • 2020-04-04
  • 本文字数:5720 字

    阅读完需:约 19 分钟

MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?

数据库行业并非新兴行业,在它 40 多年的发展过程中经历了多个时代的演进,也发展出了各种细分类型下的数据库产品,最近几年时间国产数据库也加入了激烈的市场竞争之中。纵观数据库产品江湖,武林大会同台竞技,谁是最强王者?

2020 年 3 月 8 日,腾讯云 TVP 技术闭门会展开了这样一次特殊的线上较量,MySQL、PostgreSQL、NoSQL、CynosDB 的选手们展开了一次唇枪舌剑的对话,为自己身后的数据库登台打擂。以下是本次技术闭门会各位武林高手的“内功心法”,以飨读者。


https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&auto=0&vid=wxv_1250040088852119552


点击视频,查看本期 TVP 技术闭门会精彩集锦

MySQL 8.0,数据库王者正当年


当你提到数据库,就不得不提 Oracle。整个数据库行业,谈论技术无出 Oracle 其右者,Oracle 浸淫数据库领域多年,早已将这个行业吃透。几乎所有的数据库,不管是商用数据库还是开源数据库,都是照着 Oracle 模式在走,包括交易模型中的数据处理等层面更是如此。


知数堂联合创始人吴炳锡首发登场便开宗明义地指出,Oracle 仍是数据库行业当之无愧的王者,而 Oracle 新出的 MySQL 8.0 更谈得上一句“开源数据库中的王者正当年”!


“MySQL 8.0 相比大家往常印象中常用的 5.7 版本有近 300 个提升点,在优化器、管理、复制、插件、安全、开发、InnoDB 等七大方向都有细致的更新,8.0 可以说是你没有体验过的全新版本。如果说你还是觉得 MySQL 不好用,只能说你的 MySQL 版本太老了,已经不在官方团队的支持范围内了。”


作为一名数据库行业从业 15 年的老兵,吴炳锡老师一针见血地指出数据库产品背后开发团队的重要性:


“MySQL 8.0 为了做 DDL 回滚和数据字典的功能,多写了 30+万行代码,这远超出了大众认知的概念范围,MySQL 背后的开发团队起码在 500 人以上规模。可想而知,MySQL 能得到的技术支持不是一般的同类型数据库或开源数据库所能比拟的。”


除了这些重要的特性与研发支撑,吴炳锡老师还提出了一个最直观的论据:



DB-engine 排行榜,MySQL 仅次于老大哥 Oracle,位居第二。对于数据库产品的选择,吴炳锡老师也给出了自己的“万金油”方案:


大咖金语

“数据库用 MySQL 8,自带原生高可用;缓存用 Redis;搜索用 ES;分析用 Clickhouse;时序类用 InfluxDB。这些产品使用人群基数大,方案成熟度高,基本上不会出问题。”

——吴炳锡

NoSQL:高并发,低延迟,互联网技术栈的标配


“Redis 是 NoSQL 的王牌选手,它是最适合互联网应用场景的数据库。”极数云舟对外合作部总监、Redis 中国用户组主席张冬洪非常自信地抛出了这个结论,在他看来,伴随着互联网和移动互联网需求的大爆发,社交、电商、游戏、视频、直播等新应用场景对传统数据库的性能提出了更高的要求,而 Redis 从 2014 年的 2.8 版本开始,就逐步伴随着互联网和移动互联网的发展而不断完善,变得非常的强大,如今支撑着这些应用场景,成为移动互联网时代的技术底座。


大咖金语

“单进程、高可用、低延迟、分布式、高性能……Redis 的特点鲜明,优势突出,已经成为了互联网技术栈的标配。跟 MySQL 在互联网的广泛应用一样,Redis 在互联网场景的应用同样不遑多让。”

——张冬洪


张冬洪特别指出,Redis 支持的数据结构非常丰富,这是其能脱颖而出的重要原因:“Redis 有十多种数据结构,如今这些数据结构已经深入互联网业务的骨髓,抢红包、秒杀、排行榜等等场景都有它在背后支撑。”


除此之外,张冬洪还连珠炮式地提出了一连串 Redis“强无敌”的论点:


  • Redis 是既可以当缓存又可以当存储的 KV 数据库;

  • Redis 是最简单扩展自定义功能的数据库;

  • Redis 是原生支持架构类型最全的数据库;

  • Redis 是唯一可以作为消息队列使用的数据库;

  • Redis 是最容易实现弹性扩缩容的数据库;

  • Redis 是内存管理最好的数据库;

  • Redis 是支持秒级无损升级的数据库;

  • Redis 是最具发展潜力的数据库。


行业地位高,应用场景广,生态体系全,这是张冬洪对 Redis 所作的总结陈词。

云原生数据库将是数据库的未来


“云原生数据库将是数据库的未来,将至已至,未来已来。”腾讯云自研 CynosDB 数据库产品负责人刘峰甫一登场便给出了对数据库未来的论断。


大咖金语

“云原生数据库是 NewSQL 的一种,是为了解决传统数据库的痛点而生的。孟子曾提到“鱼与熊掌不可兼得”,但 NewSQL 却将 NoSQL 的扩展性和 SQL 的 ACID 统一在了一起。”

——刘峰


作为云计算时代 NewSQL 的代表,云原生数据库到底解决了哪些问题呢?刘峰在解答前首先细数了 传统数据库架构的“七宗罪”


  1. 扩展性差;

  2. 资源利用率低;

  3. 可用性无法保证;

  4. 可靠性无法保证;

  5. 性能受限;

  6. 备份回档慢;

  7. 运维成本高。


“导致传统数据库这些问题的根本,在于传统数据库是计算和存储一体化的架构。腾讯自研的新一代企业级云数据库 CynosDB,就是为了解决以上问题而应“云”而生的。”


刘峰指出,云原生数据库 CynosDB 解决以上难题的关键思路在于通过计算和存储分离创新性的实现了“日志即数据库”的架构,获得了资源池化和快速的弹性扩展的能力。传统数据库架构中,通过简单地改变存储介质替换 MySQL 本地文件系统,并不能彻底解决数据复制的问题。CynosDB 通过对 MySQL 存储引擎 InnoDB 的改造,结合腾讯云存储构建了一套多租户的共享分布式存储,并异步的实现了日志的合并,完成了存储资源的池化。同时也继承了云存储自身大容量,多副本,自动扩容和自动修复等诸多特性。这样的改造也实现了计算层的无状态,计算实例可以完成秒级的升降级和故障切换。多个节点共享海量分布式存储,不再需要数据搬迁和复制,主从直接不需要通过 binlog 进行同步,从根本上解决了传统数据库架构导致的各种难题。


“目前 CynosDB 实现了 128TB 的海量存储自动扩容;支持最大规格 96C768GIB 的计算实例;100%兼容 MySQL 和 PG 等多个引擎。除此以外,还实现了秒级的添加只读节点,故障切换和快照备份,节点间仅有毫秒级的延迟”。


刘峰最后总结道,2022 年,世界上 75%的数据库将运行在云上,而云原生数据库将无疑成为用户的最佳选择

PostgreSQL:世界上最强大的开源数据库


大咖金语

“PostgreSQL 是最早的开源数据库!1986 年就启动研发了,比包括 MySQL 在内的其他开源数据库都要早。它是一位久经考验的老战士,替换 Oracle,在路上…请放心使用,尤其在金融核心交易系统。”

——赵振平


太阳塔科技公司 CTO 赵振平老师(PostgreSQL 中文社区主席)是国内第一批获得 OCP 证书的 Oracle 数据库从业者,不少数据库从业者称他一声“赵老师”,他却始终认为:团队的力量远远凌驾于个人力量之上,这是他看好 PostgreSQL 的重要原因之一。


“PostgreSQL 是由全世界很多开源爱好者组成的一个有梯队的、成体系的舰队。它背后有一个非常强大的开发团队,所以它过去能够开发出很多重大的新特性,以后也能够给你提供持续的支持。”


赵老师口中的“久经考验的老战士 PostgreSQL”,曾经和 MySQL 在同一条起跑线上,机缘巧合,因为 MySQL 搭上了互联网的便车,在用户群体上和 PostgreSQL 大大拉开了差距。但是,今天,PostgreSQL 在开发规划上的管理非常科学,每年一个大版本更新、每个季度一个小版本更新,每一个大版本更新都是跨时代的变化,而不是 bug fix 的小修小补。


最关键的是,PostgreSQL 还具备可与 Oracle 匹敌的高性能。Oracle 数据库远远甩开其他商业数据库的利器之一是:“并行”。PostgreSQL 同样具备“并行”,在“并行扫描”,“并行连接”和“并行 Append”上非常卓越。再加上其稳定和安全的特性,被广泛使用在金融核心领域也就并不奇怪了。


在功能方面,PostgreSQL 甚至比 Oracle 还强。Oracle 有的 PostgreSQL 都有,Oracle 没有的 PostgreSQL 也有。在索引类型、分布式、GIS、操作系统支持、代码量等多个方面,PostgreSQL 都优于 Oracle 和 MySQL。

技术不是唯一,生态仍是关键


大咖金语

“2007 年前后的时候,MySQL 已经开始流行,背后原因在于其很好地抓住了互联网的兴起。从技术角度讲,MySQL 和 PostgreSQL 不存在技术上的优劣之分,而在于其背后的社区管理和生态。”

——李跃森


腾讯云 TBase 数据库负责人李跃森在点评时指出,对于数据库产品而言,技术实现不是决定成功与否的唯一因素,背后的社区管理和生态同样重要


“PostgreSQL 和 MySQL 相比,前者的技术实力并不弱于后者,在许多领域甚至处于领先位置。MySQL 成功的关键在于抓住了那一波互联网兴起的红利,经过多年发展后,知名度和用户案例的拓展已经从互联网行业扩展到保险、电信、金融等领域。反观 PostgreSQL,由于开源协议过于自由,社区力量不易集中,没有像 MySQL 那样有 Oracle 这样的强大的后盾,在集中资源、打造格局方面能力稍弱。”


技术社区的运营,软件生态的打造,开发者品牌的维护,是一个数据库、框架甚至小小开源组件取得成功的要素之一。


“云计算虽然现阶段存在诸多问题与挑战,但上云已经是肉眼可见的技术趋势。背后体现的已经不是要不要上云,而是什么时候上云?怎么上云?上哪家云的问题。以美国看中国,不难看出这个趋势,云数据库在未来一定会有更大的应用场景,因此我对 CynosDB 抱以乐观的态度。”

腾讯云,有能力与义务解决客户的数据库问题


“当客户在使用云厂商所集成的数据库产品时,一定会遇到各种各样的问题,很多问题其实源自官方数据库的自身 bug 或配置问题,但客户不会去考虑这些。腾讯云既然提供了集成数据库产品的云服务,就一定会找最专业的人来维护。”


腾讯云数据库负责人林晓斌在点评环节指出了全面云计算时代下,集成数据库等产品的云服务在维护客户实例时,需要关注的客户实际需求。在他看来,不管是官方的问题还是云服务的问题,都是腾讯云团队需要为客户解决的问题,腾讯云会针对客户的实际需求,给数据库增加功能、修复 bug,这是能力,也是义务。


对于用户普遍关心的云数据服务和自建数据服务的关系问题,林晓斌也给出了自己的看法:


大咖金语

“云数据服务和自建数据服务的区别关键不在于成本,而在于云提供了一个更大的弹性能力,帮助企业在实际的生产环境中能弹性应对流量的洪峰与低谷。自建数据服务在企业做大以后也是必然选择,与之相匹配的 DBA 团队实际上又让自建的数据服务成为了一种类似私有云的概念。”

——林晓斌

未来数据库生态多方并存


“不管是 NoSQL 还是 NewSQL,都是在不同的领域里深耕,瞄准的是不同的赛道。不同的数据库产品之间在技术、规划和思路方面都值得相互学习,腾讯内部数据库发展历程也是经历了多次迭代创新,逐渐完善。”


腾讯分布式数据库 TDSQL 负责人潘安群在点评时总结道,在他看来,所谓的“数据库王者”其实并不存在。“在当下市场对数字化或者信息化的要求越来越高,业务场景是以各种各样的趋势发展。我们需要的是多种,能够应对未来长期技术演进中面临的各种数据库场景需求和挑战的数据库技术。”


大咖金语

“One size fits none,在云趋势下,未来一定是多种数据库技术生态并存的局面。个人认为云数据库是数据库的未来方向,云原生级别的数据库在未来能取得更好的发展前景,这也是国产数据库弯道超车的机会。”

——潘安群


最近几年,基础技术国产化进程加快,对核心技术要自主可控的担忧也让不少圈内人担心 MySQL 数据库的闭源、Oracle 数据库的卡脖子,潘安群认为,一方面是我们对数据库核心技术的自主可控、自主研发迭代,同时需要寻找新的创新路径。只有在云数据库的趋势下,才有了全面“去 O”的可能性。


“按照 Oracle 数据库的思路去做一款同类型数据库,实现对 Oracle 数据库的取代,本身就是不现实的。只有另辟蹊径,才能弯道超车,目前看来,云原生就是那条可能的赛道。”

用户需求是动力,云原生已是云数据库基础能力


对于谁是数据库王者的辩论主题,腾讯云原生数据库 CynosDB/CDB 研发负责人程彬也给出了自己的看法:


大咖金语

“在数据库的选型方面,并没有标准答案。我们观察到,无论腾讯公司内部自研业务还是腾讯云上用户对数据库进行选型,基本上都是结合实际的业务场景、团队的能力和技术储备等多个维度来综合决策。比如,业务在刚起步阶段对扩展性要求低,MySQL 可能就够用了,规模上来后,需要弹性能力和性能更强的 NoSQL 来支撑。”

——程彬


数据库技术创新,一般有两种模式。第一种模式是在新的科学理论的牵引下,从无到有研发出全新的技术,比如数学家 E.F.Codd 提出了关系和关系运算的理论,后面就有了 oracle 关系型数据库的诞生。第二种模式是在新的业务问题的牵引下,不断运用技术去增效降本、去提升用户体验。比如互联网时代海量数据量/海量访问场景出现后,原有以 MySQL 为代表的关系型数据库在扩展能力明显不足,NoSQL 数据库就应运而生。


业界数据库技术创新主要走的第二种模式。比如,腾讯的数据库团队在支撑公司微信、QQ、Qzone、QQ 游戏、腾讯广告、微信支付等不同业务场景中,不断挖掘业务的海量、可持续性、合规性等需求,来不断丰富数据库平台矩阵和能力。尤其在云时代,从赋能业务升级到普惠行业,需要更加立体和有竞争力的数据库技术栈来满足行业需求,而云原生能力就是那把入门钥匙。


程彬最后将自己的票投给了 CynosDB,因为云原生是肉眼可见的未来!

技术本无优劣,选型只看需求


腾讯云数据库运营负责人邵宗文是这场别开生面的辩论大赛中最幸福的那个人,在他的牵头下,四位数据库大咖战作一团,好不热闹。在听完所有辩手的发言与嘉宾的点评以后,他发出了这样一句感叹:


大咖金语

“技术本身没有优劣之分,选型只看业务场景的区别与需求。”

——邵宗文


最终,在 159 名观众和 4 名点评嘉宾的票选下,来自知数堂的吴炳锡老师成功摘得本次辩论赛王者桂冠,脱离尖锐的辩论风格后,吴老师的总结陈词非常令人动容:


感谢大家对 MySQL 的认可,未来也许真的在云原生上,现下争论 MySQL 和 PostgreSQL 谁更好并没有意义。大家盯的赛道都不尽相同,未来做大后也可能都会回归到私有云上,这是数据库人最终的状态。最后感谢拿了 MySQL 工资投票的各位,那些拿了 MySQL 工资投给 PostgreSQL 的同学要好好反思了。



当腾讯会议界面上的壮观的嘉宾阵容挥手告别以后,窗外已是夕阳西下。数据库市场经过数十年的发展,不仅没有随时间流逝成为夕阳产业,反而持续产生着创新与变革,在云计算的加持下,数据库的未来必将走向新的高峰。


2020-04-04 18:421236

评论

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

rabbitmq原理和应用

六月的

Go RabbitMQ

PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)

汀丶人工智能

nlp 文本分类

一键上手时下最火AI作画工具

华为云开发者联盟

人工智能 华为云

golang的内存管理

六月的

golang 内存管理

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue

golang中的变量阴影

六月的

golang

grpc中的拦截器

六月的

gRPC 拦截器

进阶vue面试题总结

bb_xiaxia1998

Vue

固定QPS异步任务功能初探

FunTester

Bonree ONE 2.0重磅发布,中国IT运维迈入数智融合3.0时代

博睿数据

可观测性 根因分析 博睿数据 ONE平台 智能运维AIOps

golang单元测试一(简单函数测试)

六月的

golang 单元测试

golang中的errgroup

六月的

golang errgroup

如何修改已提交commit信息

Appleex

git

golang中经常会犯的一些错误

六月的

golang

100+款AI产品薅羊毛攻略(上)——轻轻松松节省几十万

夏夜许游

人工智能 阿里云 AI 视觉

golang垃圾回收

六月的

golang 垃圾回收

CORS跨域

六月的

CORS

grpc错误处理

六月的

gRPC 错误处理

Git的branch操作详解

timerring

git 10月月更 branch

golang中的一些实用功能

六月的

golang

租房小程序使用uniapp展示地图map

源字节1号

小程序开发

golang中的socket编程

六月的

golang socket

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

揭秘百度智能测试在测试评估领域实践

百度Geek说

测试 数据 企业号十月 PK 榜

goroutine&waitgroup下载文件

六月的

goroutine waitgroup

golang中的几种并发模式

六月的

golang 并发模式

golang中的选项模式

六月的

golang 选项模式

golang开发一个简单的grpc

六月的

golang gRPC

深入浅出redis缓存应用

六月的

redis

MobLink Android 快速集成

MobTech袤博科技

Gradle sdk moblink

go-zero docker-compose 搭建课件服务(九):http统一返回和集成日志服务

六月的

Docker-compose go-zero

MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?_文化 & 方法_云加社区_InfoQ精选文章