二、研究进展:PolarDB数据库一体机项目详述
莲子数据的数据库一体机采用 24 核心的 ARM 架构 CPU ,搭配了 ECC 内存,能够胜任企业应用级别的稳定性要求,且仅有 5 瓦的功耗,单颗 CPU 能够提供高达 38GFlops/瓦的计算能力,性能功耗比是行业平均水平的 3-8 倍。举个例子,我们可以利用四颗 CPU 进行平行计算,虽然 4 颗 CPU 只能达到其他产品的一颗 CPU 的算力水平,但仅有 20 瓦功耗,而同类产品达到相同算力可能需要近百瓦的功耗。
在数据互联特性上, CPU 间采用了基于 PCIE 的数据总线,也开发了 Dynamic Data Transmission Over PCIE 的异构互联机制,实现了板级设备的高速数据传输。典型机型中,在不到 2u 的空间中集成了 8 个高密度的计算机节点单元,外加相当于万兆交换机的网机互联模块的高速通讯能力。该配置非常适用于云、边、端一体化计算的工业场景中。
上图很好地解释了数据互联机制和传统方法的区别。
传统的数据交换路径以 CPU 为中心, PCIE 的数据交换和以太网的数据交换互相分离,数据交换存在很多绕路行为。而数据互联方案采用了非 CPU 中心化的数据交换路径, Fabric 路径延迟降低50%,TCP/IP 的延迟降低90%。
在存储外设方面,我们基于 PolarDB 的存算分离架构,采用了SAN存储器来进行数据的分离存储,并且对数据读写的路径和空间均进行了优化,增强了数据校验的机制,同时也优化了缓存策略,以满足 QoS 的需求。此外,也优化了在线全局重删的功能,根据读写频度重新选择重删区域,不影响业务的访问性能,删除重复数据前会进行二次比对,避免数据丢失。通过存储系统内置的数据压缩功能模块,对数据进行压缩处理时前端业务系统无感知。上述配置缓解了存储系统的空间增长问题,降低了成本,也从另一方面降低了存储系统的能耗指标。
在可信安全方面,我们通过两部分构建了可信根和可信软件基。系统通过对应用透明的主动可信监控机制来保障应用的可信运行,不修改原应用,而是通过制定策略进行主动实时防护,对业务的性能影响非常小。
基于以上软硬件布局,我们实现了基于可信计算的数据库设备的主动防护。利用可信芯片实现硬件隔离,将安全保护与宿主系统分离,防止安全机制被旁路。同时利用了 USB、PCIE 等标准化的可信根实现了即插即用。可信根通过可信总线与三节点一体机进行通信,利用可信软件基实现芯片级和内存级的可信度量,硬件层的度量实现真正的免疫高级未知攻击的功能。同时,在可信防护中也采用了轻量级的加密技术,减少了密码的运算开销,降低了性能损耗,能够有效应对野外设备性能受限状况下的加密保护场景。
针对可能存在的篡改,可以通过主机的安全防护实现用户、程序、文件、服务、注册表等的访问控制。针对未知危害,可以通过建立核心程序防护来严禁未知程序的执行,从而实现对于未知程序的主动免疫。
基于以上几方面的能力,我们也进行了 ARM 架构的数据库一体机硬件条件下可信安全 PolarDB 的HTAP性能测试。鉴于 CPU 的平行计算特性,我们在测试中选取了最严苛的条件——每个节点单颗 CPU 在 5 瓦超低的功耗性能下,测试了三节点 PolarDB 的性能,操作系统搭载龙蜥 7.9 ,测试工具使用 Benchmark SQL 5.0 和 dbgen,分别进行了 TPCC 测试和 TPCH测试。
TPCC 测试结果显示,测试过程性能输出较为平稳。对比同一硬件条件下的 PG 单机版, PolarDB 采用了分布式架构,由于一致性问题,其性能略低。虽然绝对数值看似不高,但本系统的功耗和成本远低于其他X86 的同类架构。因此,在常规应用中已经能够满足技术要求,尤其适合在边缘计算等工业或苛刻场景下的应用。
TPCH 测试结果显示,随着跨机并行数的增加,TPCH 性能几乎呈线性提升状态,直到并行数达到 CPU 的核心数。在并行数超过 CPU 的核心数之后,性能会有所下降。但是对比同一硬件条件下的 GTDB,在并行度一致的情况下,两者性能相当。
三、未来规划:围绕PolarDB生态的发展规划
在未来的工作中,莲子数据会紧紧围绕 PolarDB 的生态完善使用体验,同时积极拓展场景应用,充分发挥开放异构、节能高效和可信安全的特性。结合 5G 云边端协同的趋势,充分发挥人工智能和专家系统的优势,建立基于 AI 的数据观测机制和系统诊断机制,为专网场景和工业现场等相关需求而努力。
借助阿里云的开放平台,我们希望能够和同行携手共建开放合作的 PolarDB 大生态。感谢诸多合作伙伴为项目的持续优化作出的努力,同时也希望感兴趣的同行能够参与其中,共同进步。