Query Fresh: Log Shipping on Steroids Tianzheng Wang Ryan Johnson Ippokratis Pandis University of Toronto LogicBlox Amazon Web Services
[email protected] [email protected] [email protected] ABSTRACT to guarantee strong safety [20]: transactions are not committed Hot standby systems often have to trade safety (i.e., not losing com- until their log records are persisted in all (or a majority of) nodes. mitted work) and freshness (i.e., having access to recent updates) Synchronous log shipping ensures that if the primary fails, a backup for performance. Guaranteeing safety requires synchronous log can take over as the new primary without losing committed work. shipping that blocks the primary until the log records are durably In addition to replaying log records, backups can serve read-only replicated in one or multiple backups; maintaining freshness ne- transactions, improving resource utilization and performance. cessitates fast log replay on backups, but is often defeated by the 1.1 The Freshness Gap dual-copy architecture and serial replay: a backup must generate The ability to serve read-only transactions on backups while the “real” data from the log to make recent updates accessible to read-only queries. maintaining strong safety guarantees is a salient feature of log ship- This paper proposes Query Fresh, a hot standby system that pro- ping: modern database servers are high-end machines that constitute vides both safety and freshness while maintaining high performance non-trivial parts of the total cost of ownership, and offloading read- only transactions to backups can significantly increase hardware on the primary. The crux is an append-only storage architecture used in conjunction with fast networks (e.g., InfiniBand) and byte- utilization and read-only throughput.