寻求高性能与高可用的键值存储
数据库
2019-04-18 v1
摘要
近年来,写密集型应用愈发普遍。如何高效处理此类负载是数据库系统领域的研究热点之一。写操作带来的开销主要由两方面原因造成:1) 硬件层面,即日志引起的IO开销,短期内无法消除;2) 双副本软件架构与串行重放。日志即数据库架构的诞生旨在克服软件缺陷。但现有将日志作为数据库的系统要么构建于infiniband或NVRam(非易失性随机存取存储器)等特殊基础设施之上,难以广泛部署,要么借助Dynamo等其他系统构建,缺乏灵活性。本文从零构建仅支持一次写入的键值系统LogStore以支撑我们的即时通讯业务。LogStore的关键特性包括:1) 每分区单线程执行模式,消除并发开销;2) 日志即数据库以实现一次写入特性及备节点的数据新鲜度,通过内嵌复制协议而非依赖其他基础设施实现高可用;3) 细粒度低开销数据缓冲池管理,有效最小化IO成本。根据我们的实证评估,LogStore在写操作、恢复与复制方面均具有良好性能。
引用
@article{arxiv.1904.08147,
title = {In Search of a Key Value Store with High Performance and High Availability},
author = {Huaibing Jian and Yuean Zhu and Yongchao Long and Bin Li and Shu Wang and Xiliang Wu and Zhichu Zhong},
journal= {arXiv preprint arXiv:1904.08147},
year = {2019}
}