无停机演进 NoSQL 数据库
数据库
2016-04-26 v3
摘要
像 Redis、Cassandra 和 MongoDB 这样的 NoSQL 数据库因其灵活、轻量且易于使用而日益流行。使用这些数据库的应用会随时间演进,有时需要(或倾向于)改变数据的格式或组织方式。我们在本文中解决的问题是:如何支持高可用应用及其 NoSQL 数据的在线演进,即使存在向后不兼容的数据格式变更,也能避免过度的延迟或中断?我们提出 KVolve(流行 NoSQL 数据库 Redis 的一个扩展)作为该问题的解决方案。KVolve 允许开发者提交一个升级规范,定义如何将现有数据转换到最新版本。该转换在应用与数据库交互时被惰性应用,从而避免了长时间的暂停。我们证明 KVolve 具有足够的表现力来支持实质性的实际更新,包括针对 RedisFS(一个 Redis 支持的文件系统)的格式变更,同时在一般使用中几乎不引入开销,且在更新期间暂停时间极短。
引用
@article{arxiv.1506.08800,
title = {Evolving NoSQL Databases Without Downtime},
author = {Karla Saur and Tudor Dumitraş and Michael Hicks},
journal= {arXiv preprint arXiv:1506.08800},
year = {2016}
}
备注
Update to writing/structure