读POLARDB论文有感异构计算和数据库软硬一体化设计 2.docx
- 文档编号:12660690
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:7
- 大小:244.10KB
读POLARDB论文有感异构计算和数据库软硬一体化设计 2.docx
《读POLARDB论文有感异构计算和数据库软硬一体化设计 2.docx》由会员分享,可在线阅读,更多相关《读POLARDB论文有感异构计算和数据库软硬一体化设计 2.docx(7页珍藏版)》请在冰豆网上搜索。
读POLARDB论文有感异构计算和数据库软硬一体化设计2
深度思考-读POLARDB论文有感:
异构计算和数据库软硬一体化设计
本文来自有才网友
引言
阿里巴巴在刚刚结束的国际顶级存储行业会议FAST2020贡献三篇论文:
·《POLARDB结合可计算存储:
高效支持云原生关系数据库的复杂查询操作》
·《FPGA加速Compactions操作,基于LSM-tree的键值存储》
·《HotRing:
热点感知的无锁内存键值系统》
再结合阿里云数据库掌门人李飞飞教授的《如何看待数据库的未来》中提到的
新硬件:
软硬件一体化设计
无不透露着业界领头羊正在定义云原生数据库的业界标准,数据库不仅是运行在CPU和内存中的二进制代码,也不再是高端硬件的简单堆叠,关键硬件必须在设计阶段就要针对数据库特性做深度定制和优化,借用AlanKay的名言:
Peoplewhoarereallyseriousaboutsoftwareshouldmaketheirownhardware.
以下的文字只当是”囫囵吞枣“后的一些粗浅思考。
受本人能力所限,未尽之处,实属应当。
”随风潜入夜,润物细无声“,其实数据库软硬件一体化的进程早在十几年前就以不易察觉的方式拉开序幕。
拿来主义
在2010年,笔者第一次在生产环境接触Infiniband技术,当时OracleRAC(realapplicationcluster)就通过超算领域(HPC)的Infiniband网络技术优化集群实例之间的内存数据(CacheFusion)交互。
相比万兆网络,Infiniband不仅提供更高带宽和更低延时,基于RDMA提供ZeroCopy和AsynchronousI/O特性进一步提升通讯协议效率,同时极大减少对CPU资源的消耗。
同年,也开始在电商数据库生产环境应用固态盘(SSD)技术。
要说明白SSD的价值,先简单赘述关系型数据库中的预写式日志(Write-aheadLogging,简称WAL)机制,WAL是为关系数据库系统(RDBMS)提供原子性和持久性(ACID属性中的两个)的关键技术,我们常用的关系型数据库Oracle,MySQL(InnodbEngine)和SQLServer都基于WAL实现(具体实现各有不同)。
Oracle中又叫Onlineredolog(后面简称log),log持久化延时直接影响到TPS(TransactionperSecond),在OLTP(在线交易)场景中TPS是度量数据库性能的最关键指标。
相信所有OracleDBA都对“logfilesync”和“logparallelwirte”两个等待事件极为熟悉,基于实践“logfilesync”延时超过3ms,访问数据库的应用就会觉得”慢“。
固态盘(SSD)简单粗暴的大幅度降低log写入延时。
当时写入放大(WriteAmplification,简称WA)和垃圾回收(GarbageCollection,简称GC)的问题还比较明显,甚至连SSD写入寿命的监控接口都还没有,但是大家都意识到对于数据库而言这是革命性的技术变革。
也有人早早做出判断SSD是最近10年数据库(当时多指关系型数据库)领域最大的技术革命。
这个阶段的明显特点就是”拿来主义“。
Infiniband和SSD并不需要针对数据库做优化就可以获得显著收益。
简单定制
任何软件技术都很难脱离硬件技术凭空臆想,关系型数据库理论诞生于60年代末70年代初,其设计思路受限于当时的磁盘技术。
仅以MySQL数据持久化中的一个场景展开。
MySQL实例会将内存中的脏数据(被修改过)以数据页为单位写入磁盘持久化。
一个数据页的大小是16KB,假设写入2KB时服务器异常掉电,这时数据页的前2KB已被更新,剩下的14KB还未被更新,那么该数据页因为部分写(partialwrite)问题被写坏。
而MySQLredolog不能修复此类坏数据页,导致数据丢失。
受限于机械磁盘只能提供512B的原子写(AtomicWrite),InnodbEngine通过DoubleWrite机制解决该问题,副作用也很明显,不仅增加存储引擎代码复杂度,也引入额外的磁盘写入压力,让宝贵的存储资源(IOPS)更加紧张。
如果MySQL依赖的存储介质可以提供可配置写入大小的原子写(AtomicWrite),可以直接关闭DoubleWrite,这会在以下几个方面带来巨大收益:
·直接提升TPS,以MariaDB(MySQL分支)为例.关闭DoubleWrite能带来30%左右的提升,如下图所示:
·简化写入链路也间接优化实例恢复逻辑,如下图所示:
·在计算存储分离的部署架构下,显著降低计算节点和存储节点的数据交互,在TPS提升11%,QPS提升28%的情况下,网络吞吐仅增加3.6%。
(底层存储使用Elasticfile,目前已经被Google收购)
有实力的硬件厂商已经陆续提供大页的原子写(AtomicWrite)特性,比如Intel、Sandisk和Scaleflux。
留心的读者应该可能已经发现,一些公有云RDS厂商在使用具备该特性的硬件后,已经默认关闭DoubleWrite功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 读POLARDB论文有感异构计算和数据库软硬一体化设计 POLARDB 论文 有感 计算 数据库 软硬 一体化 设计