编者注:本系列与读者共同分析数据库行业动态。关注“数据和云 ( OraNews)”公众号回复:下载。可以找到下载链接。
本次推荐文档来自 CCF 2021年12月发表的《"十四五"数据库发展趋势与挑战》一文,其中针对数据库的精彩论断,值得从业者深入理解和思考。
署名字母序作者:陈群、陈跃国、崔斌、范多锋、高云君、李国良、李战怀、毛睿、潘安群、彭智勇、钱卫宁、童咏昕、屠要峰、王晓阳、杨晓春、姚斌、袁野、周立柱
本文是笔者的学习摘录。
主要观点:
计算模式的改变和应用需求变化对数据库系统形态起到了至关重要作用,也推动了数据库架构的迭代更新。
- 线下数据库到云数据库的转变:数据库部署形态从传统的线下部署转变到云上部署,计算存储分离的云原生数据库得到了广泛关注。
- 集群数据库到分布式数据库的转变:数据库逐步发展到分布式数据库模型,而分布式查询优化、分布式事务和分布式一致性协议等技术也得到了快速发展。
- 端边云协同数据库:随着移动互联网和数字孪生的普及,端边云协同的数据处理得到了广泛关注,而异构智能设备上的分布式数据协同与一致性管理需要深入研究与发展。
- AI 原生数据库:AI 和数据库结合,通过 AI 技术优化数据库的设计和管理(例如学习型索引、学习型代价估计、智能参数调优等);通过数据库系统和技术降低 AI 使用门槛,普惠 AI。
数据库产品分类和图谱
具体来讲:
- 计算模式改变:新型计算模式,例如云计算架构,对数据库发展起到了重要作用。云架构计算存储解耦,实现独立的计算弹性伸缩和存储的自动扩缩容,云原生数据库应运而生;随着物联网的发展和数字孪生的普及,端边云成为趋势,需要突破端边云数据处理技术来支持万物互联时代的数据管理,而目前还缺少 端边云(协同)数据库。
- 应用需求变化:数据库从解决数据交易问题的OLTP数据库,到支持商业决策需求的OLAP数据库,再到智能时代,需要融合数据库和 AI 技术来支持实时的智能决策,因此亟待研究 AI 原生的数据库。大数据时代,更多的数据管理系统更加注重系统扩展性,因此 NewSQL 分布式数据库,例如 Spanner,得到了大型应用的青睐。
云原生数据库 1.0,通过计算存储分离、日志即数据、一写多读等技术实现
其优点:
- 计算和存储的解耦和分离,计算节点无需保存数据库的状态,实现独立的计算节点弹性伸缩和存储节点弹性扩缩容;
- 日志即数据,只写日志(redo log),通过存储层回放数据来避免 IO 放大,降低了云基础设施的网络压力;
- 一写多读,存储层回放的数据能够保证多份数据的一致性(通过 Paxos、Raft、Quorom协议), 实现一写多读,支持读节点一致性读。
云原生数据库 2.0 的技术挑战:
- 分布式共享内存技术:将分布式内存虚拟化,并提供近端(本地)、远端感知的内存访问能力,在保证高可用的同时降低访问时延;
- 计算、内存、存储分层解耦的事务处理架构:利用三层池化资源设计高效的事务处理技术实现分层解耦的数据库。
- 网络层和存储层算子下推:需要研究存储层算子下推技术和网络层数据卸载技术,避免大批量数据传输。
- 细粒度弹性按需计算:设计细粒度弹性按需计算机制(serverless),实现查询级、事务级、算子级的弹性按需计算,多租户间资源隔离和复用。
- HTAP混合负载:利用云资源实现真正的 HTAP,例如实现实时的行转列,从而利用列存来支持复杂分析查询,难点在于高效的行转列以及智能选择。
分布式数据库要解决的核心问题:
- 分布式事务处理与查询优化: 在无法完美 sharding 的情况下,跨节点事务处理性能会急剧下降。需解决分布式事务处理和分布式优化器问题。
- 智能数据分布技术:分布键的选择合理与否直接影响到数据库的性能指标。如何高效选择分布键是是否能做到应用透明的关键技术之一。
- 分布式高可用技术:分布式数据库高可用应具备多层次的技术要求,以满足不同级别的故障高可用方案。难点在于高性能的基础上跨地域多活。
- 智能运维调优技术:利用 AI 技术实现智能运维、智能调优、智能诊断、智能索引/视图推荐,是分布式数据库需要解决的主要问题之一。
AI 原生数据库核心挑战。未来的 AI 原生数据库需要从 AI 需求的角度来重新设计和实现 DBMS,以友好的方式高效地支持 DB&AI 的混合处理(Hybrid DB & AI Processing),其核心技术包括:
- 设计和实现统一的数据模型。设计统一的数据模型来表示异构多模态数据,并实现相应的存储方法,使之能无缝地支持关系代数操作(如选择、 投影、交)、线性代数操作(如标量、向量、张量操作)以及其他基于更复杂 AI 模型(如深度神经网络)的操作,是需要解决的核心挑战之一。
- 设计和实现统一的操作算子。定义和实现一套 AI 原生的数据操作算子,友好高效地支持 DB & AI 的混合运算,是 AI 原生数据库需要解决的另一个核心挑战。
- 设计和实现统一的优化引擎。在统一的数据模型和操作模型之上,AI 原生数据库 需要一个统一的执行引擎,优化 DB & AI 的混合操作。基于代价模型优化执行计划是需要解决的核心挑战之一。AI 模型的管理以及其跟执行优化的耦合也是执行引擎的核心挑战之一。
- 利用 CPU GPU 异构硬件实现训练和推理加速。DB 和 AI 通常需要不同的计算能力和硬件,需要充分利用多样化的计算能力。最终目标是充分利用 x86、ARM、GPU、NPU、加速器等多种计算能力。
云和恩墨大讲堂 | 一个分享交流的地方
长按,识别二维码,加入万人交流社群
请备注:云和恩墨大讲堂
点个“在看”
你的喜欢会被看到❤