中文

无停机演进 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