随着国内首款Cloud Native自研数据库POLARDB精彩亮相ICDE 2018的同时,作为其核心支撑和使能平台的PolarFS文件系统的相关论文"PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database"也被数据库顶级会议VLDB 2018录用。8月,阿里云数据库团队亮相于巴西里约召开的VLDB 2018,对整个业界起到了非常积极的影响。
VLDB(Very Large Data Base)和另外两大数据库会议SIGMOD、ICDE构成了数据库领域的三个顶级会议。VLDB国际会议于1975在美国的弗雷明汉马 (Framingham MA) 成立,是数据库研究人员,供应商,参与者,应用开发者,以及用户一年一度的顶级国际论坛。
VLDB主要由四个主题构成,分别为:Core Database Technology (核心数据库技术),Infrastructure for Information Systems (基础设施信息系统),Industrial Applications and Experience (工业应用与经验) 以及 Experiments and Analyses(实验和分析)。
从09年至今的数据分析来看,VLDB的论文接受率总体是比较低,其中,核心数据库主题中的论文接受率大概为16.7%;基础设施信息系统方面的论文接受率大约为17.9%;工业应用与经验的论文接收比例近视为18%;而实验和分析部分的为19%左右。由此可见,论文被VLDB接收不是件容易的事情,必须是创新性很高,贡献很大的论文才有机会被录用。
本文着重介绍PolarFS的系统设计与实现。
背景
如同Oracle存在与之匹配的OCFS2,POLARDB作为存储与计算分离结构的一款数据库,PolarFS承担着发挥POLARDB特性至关重要的角色。PolarFS是一款具有超低延迟和高可用能力的分布式文件系统,其采用了轻量的用户空间网络和I/O栈构建,而弃用了对应的内核栈,目的是充分发挥RDMA和NVMe SSD等新兴硬件的潜力,极大地降低分布式非易失数据访问的端到端延迟。目前,PolarFS的3副本跨节点写入的访问总延迟已经非常接近单机本地PCIe SSD的延迟水平,成功地使得POLARDB在分布式多副本架构下仍然能够发挥出极致的性能。
设计初衷
针对数据库设计分布式文件系统会带来以下几点好处:
计算节点和存储节点可以使用不同的服务器硬件,并能独立地进行定制。例如,计算节点不需要考虑存储容量和内存容量的比例,其严重依赖于应用场景并且难以预测。
多个节点上的存储资源能够形成单一的存储池,这能降低存储空间碎化、节点间负载不均衡和空间浪费的风险,存储容量和系统吞吐量也能容易地进行水平扩展。