云时代亿级用户洪流来袭,数据库如何筑牢安全“堤坝”?

百家 作者:互联网评论 2022-11-24 18:40:54

「核心提示」

当你使用微信、bilibili、小红书等这样几亿用户的APP的时候,有没有想过这些应用如何做到支持数亿用户?背后关键之一就是离不开高性能高可靠性的数据库支撑。云时代数据库的需求暴涨,数据库也迎来新技术变革。

来源|云技术 尽在北极熊

一、需求暴涨市场加速,

数据库技术迎来新变革


数据库市场正在迎来新一轮增长,据中国信通院测算2020年全球数据库市场规模为671亿美元,其中中国数据库市场规模为35亿美元(约合 240.9 亿元人民币), 占全球份额为5.2%。预计到2025年全球数据库市场规模将达到798亿美元,中国数据库市场总规模将达到688亿元,全球占比约为12.3%,中国市场年复合增长率为23.4%。


中国数据库市场规模,来源中国信通院《数据库发展研究报告(2021年)》


从上面的数据笔者得出两点结论,第一是全球数据库正处于快速增长阶段,第二是中国的数据库市场增长更快,而且在全球市场的比重也在增加。数据库市场高速增长的背后,是越来越旺盛的数据存储和使用需求。


数据正在驱动我们的世界,数字化可以划分为大型机联网时代、PC联网时代、移动互联网时代、物联网时代,每个时代的联网设备都会增加几个数量级,相应的数据存储和使用的需求也会增加,这些需求不断驱动数据库技术变革。


当前数据库的技术变革有三个趋势,


模式上从关系型数据库为主变为关系型和非关系型数据库并存

架构上从集中式数据库为主逐渐将变为分布式数据库为主

部署方式上从本地部署为主变为以云端部署为主


在大型机时代,数据库在模式上主要是关系型数据库。进入互联网时代,随着对高并发,非结构化数据存储和分析的需求,非关系型数据库兴起。关系型数据库具有ACID(原子性、一致性、隔离性、持久性)特性,支持纵行扩容不支持横向扩容,适用于对数据安全性和事务支持要求高的场景,比如电力、证券、金融等行业。非关系型数据库又可以分为NoSQL数据库和NewSQL数据库,NoSQL采用键值、列宽、文档、图等结构存储数据,不遵循ACID原则,支持横向扩容,适用于需要非结构化、海量数据处理的场景,比如电商、社交、搜索等行业。NewSQL数据库具有关系型数据库和NoSQl数据库共同的特点,支持ACID特性,支持横向扩容,同时支持结构化和非结构化数据,但目前成熟度相对较低。


数据库在架构上的趋势是存量以集中式为主,增量分布式占比更多。集中式数据库技术成熟,但在海量数据不断产生的背景下,在扩展性、性能方面碰到挑战。分布式数据库具有水平扩展、性能更高、可用性更高的特点。分布式也符合云计算时代整个IT从集中式向分布式过渡的趋势。


数据库采用云部署已是明确的趋势。根据今年4月份Gartner发布的2021年数据库市场数据,数据库市场这几年最大趋势是云数据库营收巨幅增加。2021年,云数据库(dbPaaS)的收入占比49%以上。得益于云数据库收入,微软和AWS市场排名第一和第二,谷歌进入前五。


全球数据库市场份额排名变化,图来源Gartner官网


我国的云数据库也发展的如火如荼,云数据库可以认为是集最新数据库技术的大成,云数据库通常在架构上是分布式,在模式上既有关系型也有非关系型。微信、拼多多、小红书等这样几亿用户的APP,背后就离不开云数据库的支持,我们来通过了解支撑这些亿级用户背后的云数据库,一窥最新的云数据库底层技术。


二、能支撑数亿用户的数据库

有哪些秘诀


腾讯云数据库产品总监刘迪参与了腾讯云云原生数据库TDSQL-C项目的孵化,见证了腾讯云新一代云原生数据库的产品演进过程。TDSQL-C支撑了微信、QQ、腾讯会议、bilibili、小红书等国民级应用,其性能和稳定性经过了严苛的考验。


通过刘迪的分享,笔者认为通过TDSQL-C可以一窥云数据库成功的秘诀,总结起来有三点,海量用户、顶级专家和硬件厂商的支持。


在用户方面,像腾讯一样头部的云厂商都有自己的电商、社交、游戏等业务,这些业务就是种子用户。另外,头部的云厂商还有其他大量的用户,云数据库可以随着用户需求不断完善,在使用的过程中不断打磨,海量用户会驱动云数据库不断完善。


在顶级专家方面,云厂商有实力聚集业界专家,使数据库采用业界领先技术。TDSQL-C是典型的云原生数据库,基于云环境原生打造。打破传统数据库架构,采用存储计算分离的的分布式存储架构,完成日志即数据库的升级,可以支持秒级的弹性扩展和故障恢复、Serverless、100%兼容MySQL,并且在性能上对比传统云数据库达到200%性能提升。


图来源 架构师成长计划活动 刘迪分享PPT


TDSQL-C之所以能实现诸多行业领先的特性,是因为采用了软件+硬件+AI三位一体的设计。在软件设计方面,自研数据库内核,采用计算与存储分离的云原生数据库架构,性能、可扩展性、可用性获得大幅提升。


图来源 架构师成长计划活动 刘迪分享PPT


通过AI技术,TDSQL-C可以为用户提供自调优、自诊断、自优化的自治数据库能力,通过AI技术的引入,性能最高提升235%,场景覆盖超过数千种。


图来源 架构师成长计划活动 刘迪分享PPT


在硬件厂商的支持方面,三位一体的设计中硬件优化引起了笔者的浓厚兴趣。云厂商的体量更容易得到硬件厂商的支持,可以使用到最新的硬件技术。


笔者一直关注数据库技术的发展,之前更多关注数据库在架构设计和软件方面的调优,本次活动上腾讯专家介绍了硬件优化经验,英特尔专家还专门展开了一个专题,让笔者对数据库硬件优化认识更深刻。我们来看看英特尔如何助力数据库。


三、英特尔助力数据库,

支撑亿级用户


在架构师成长计划活动中,英特尔大数据首席工程师程从超介绍了数据库性能优化实践,下面笔者介绍下英特尔在硬件层面的优化实践。


通过程从超的分享,笔者认为英特尔助力数据库优化,总结起来有三个层面,英特尔自有硬件层面优化、标准层面优化、生态层面优化。


硬件层面的优化分为硬件的升级和指令优化。算力层面一定把最底层的指令集和最新的加速器充分利用起来。在英特尔即将发布的至强®可扩展处理器(Sapphire Rapids)这一代,已经开始逐步的从只是单纯的提高主频,增加核数,逐步走向更多的加速器。譬如针对动态负载平衡器(DLB)、数据流加速器(DSA)、英特尔内存分析加速器(IAA)和英特尔快速辅助技术(QAT)等等。很多加速器,会对上层的数据库软件的优化设计有很大的影响,这将是英特尔在CPU应用方面的明显优势。


采用最新的处理器优化效果显而易见,比如同样条件下跑MySQL ,第三代英特尔® 至强® 可扩展处理器8380比8280性能要提升64%,最新的处理器在安全性、可靠性、高效敏捷方面通常也更好。使用高主频CPU和避免NUMA更是数据库优化的基本常识了。硬件层面优化还包括使用英特尔傲腾™内存和闪存等,也可以大幅提升数据库性能。


图来源 架构师成长计划活动 程从超 分享PPT


在指令层面,可以充分利用SIMP和TSX指令。SIMD支持在多个数据点上同时完成相同的操作,特别适用于一些常见的并行任务,TSX是事务性同步扩展指令。在数据库的开发和配置中如果能充分利用这些先进指令,可以有明显的优化效果。


标准层面的优化方面,英特尔提出的ADQ、SPDK/DPDK、CXL等标准,通过将硬件和操作系统、数据库等软件的结合,可以有效减少延迟,通过提升系统整体性能来提升数据库性能。SPDK/DPDK大家应该比较熟悉了,这里着重介绍下ADQ和CXL。


ADQ应用设备队列是一种排队和转向技术。通过部署带有ADQ系列网络适配器,组织可以提高可预测性和性能,提供更好的客户体验,并始终满足sla。


图来源 架构师成长计划活动 程从超 分享PPT


ADQ支持广泛的工作负载和环境,包括容器化、裸金属、虚拟化,同时ADQ容易配置和部署。


图来源 英特尔官网


CXL可以解决CPU和设备、设备和设备之间的内存鸿沟。服务器用户有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生,通过CXL主内存和设备内存可以保证缓存一致性,并提供足够的灵活性。


图来源 架构师成长计划活动 程从超 分享PPT


生态层面的优化方面,英特尔参与了所有层面的开源项目,致力于帮助开发者基于高性能开放平台提升生产率,促进行业软件平台和生态系统的选择和互操作性,创建可以信任的隐私技术平台保证数据端到端的安全。


图来源 架构师成长计划活动 程从超 分享PPT


综上所述,笔者认为腾讯软件+硬件+AI三位一体的设计代表了当今数据库技术发展的方向。数据库厂商不光要有用户和技术专家,还需要英特尔这样的硬件厂商支持。英特尔以深厚的硬件技术为基座,积极构建相关标准和参与开放生态建设。在云时代需求暴涨的背景下,英特尔助力数据库厂商不断优化数据库,一起协同让数据库能够支撑更高的业务压力,满足时代对数据库的需求。


想了解更多关于数据库的知识吗?扫描下方海报二维码,观看英特尔联合国际学术期刊《科学》共同推出的“架构师成长计划”第九期《软硬一体实现数据库性能优化》。



点击阅读原文,了解更多精彩案例

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接