BullFrog: Online Schema Evolution via Lazy Evaluation

BullFrog: Online Schema Evolution via Lazy Evaluation
复制标题

DOI:
10.1145/3448016.3452842
复制
发表时间:
2021-06
期刊:
Proceedings of the 2021 International Conference on Management of Data
影响因子:
--
通讯作者:
Souvik Bhattacherjee;Gang Liao;M. Hicks;D. Abadi
Souvik Bhattacherjee;Gang Liao;M. Hicks;D. Abadi
中科院分区:
其他
文献类型:
--
作者:
Souvik Bhattacherjee;Gang Liao;M. Hicks;D. Abadi

文献摘要

相似文献

牛蛙是一种关系型DBMS,它支持单步模式迁移-即使是向后不兼容的模式迁移-不需要停机,也不需要高级警告。当提交模式迁移时,牛蛙会启动到新模式的逻辑切换,但物理上会延迟迁移受影响的数据,因为它会被传入的事务访问。牛蛙的内部并发控制算法和数据结构支持模式迁移操作与迁移后事务的并发处理,同时确保将所有旧数据准确地一次迁移到新模式所需的物理布局中。牛蛙是作为PostgreSQL的开源扩展实现的。在基于TPC-C的工作负载(补充以包括模式迁移)上使用该原型进行的实验表明,牛蛙可以实现向重要新模式的零宕机迁移,并且对事务吞吐量和延迟的影响几乎不可见。
BullFrog is a relational DBMS that supports single-step schema migrations --- even those that are backwards incompatible --- without downtime, and without need for advanced warning. When a schema migration is submitted, BullFrog initiates a logical switch to the new schema, but physically migrates affected data lazily, as it is accessed by incoming transactions. BullFrog's internal concurrency control algorithms and data structures enable concurrent processing of schema migration operations with post-migration transactions, while ensuring exactly-once migration of all old data into the physical layout required by the new schema. BullFrog is implemented as an open source extension to PostgreSQL. Experiments using this prototype over a TPC-C based workload (supplemented to include schema migrations) show that BullFrog can achieve zero-downtime migration to non-trivial new schemas with near-invisible impact on transaction throughput and latency.