query fresh log shipping on steroids
play

Query Fresh: Log Shipping on Steroids Tianzheng Wang* Ryan Johnson - PowerPoint PPT Presentation

Query Fresh: Log Shipping on Steroids Tianzheng Wang* Ryan Johnson Ippokratis Pandis *Currently at Simon Fraser University High availability through log shipping Backup(s): Read + Failover Primary: Read + Write Real database Replay


  1. Query Fresh: Log Shipping on Steroids Tianzheng Wang* Ryan Johnson Ippokratis Pandis *Currently at Simon Fraser University

  2. High availability through log shipping Backup(s): Read + Failover Primary: Read + Write “Real” database Replay Network Log Log Widely used in practice 2

  3. Desirable properties Easy impl. & maintenance Safe Fresh High resource Fast primary utilization 3

  4. Strong safety and freshness Synchronous log Fast log replay shipping Primary Commit? Persist + ship + wait ack Committed Ack Ack Sync or async Backup(s) Persist log Replay Time I/O, network and/or replay on the critical path 4

  5. Synchronous log shipping: infeasible • ERMIA* TPC-C, 2-socket, 16 physical cores, 10Gbe * K. Kim, T. Wang, R. Johnson, I. Pandis, ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads , SIGMOD 2016 5

  6. Synchronous log shipping: infeasible • ERMIA* TPC-C, 2-socket, 16 physical cores, 10Gbe ba ba s Log rate > BW eads Network + I/O: major bottleneck * K. Kim, T. Wang, R. Johnson, I. Pandis, ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads , SIGMOD 2016 6

  7. Reality: asynchronous log shipping → freshness gap Backup(s) Primary Balance Balance 9:41 $0 9:40 $0 9:42 $0 9:41 $50 9:43 $0 Replay … 9:50 $50 Network Log Log Safety and freshness traded for primary speed 7

  8. Query Fresh • Synchronous log shipping: leverage modern hardware • Fast replay: append-only storage + indirection 8

  9. Modern HW: synchronous log shipping possible Non-volatile RAM (NVRAM) Memristor NV-DIMM 3D XPoint 9

  10. Trend: network tracks memory speed Network no longer the biggest bottleneck 10 * https://www.infinibandta.org/infiniband-roadmap/

  11. Modern HW: synchronous log shipping possible NVRAM → Fast persistence Memristor NV-DIMM 3D XPoint High BW network InfiniBand, Converged Ethernet → Fast transfer (56Gbps+) See paper for challenges & soln. RDMA over NVRAM: fast synchronous log shipping 11

  12. Desirable properties Easy impl. & maintenance Safe Fresh High resource Fast primary utilization 12

  13. Sync. Shipping != Fresh Reads • Two durable copies Replay • Create actual tuples The log e “ eal” database • Memory allocation • Many index operations Often serial (esp. secondary indexes) Heavyweight record creation + serial replay = stale 13

  14. Append-only storage: freshness possible • Only keep one durable copy of data – the log • Redo-only logging, log record == data tuple • LSN == position in the log, directly comparable * K. Kim, T. Wang, R. Johnson, I. Pandis, ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads , SIGMOD 2016 14

  15. Query Fresh: Log == Database with RDMA + NVRAM Parallel • Sync. commit: safe (see paper) • Log tail in NVRAM Primary Secondary • Indexes: key → RID RID Where? Replay • Queries check both arrays 0 LSN 10 1 LSN 20 • Extract tuple location The log … … • Little memory allocation ( New ) Per-table • No index operation RDMA over replay array (except for inserts) NVRAM Fast sync log shipping + append-only = safe & fresh 15

  16. Query Fresh vs. Existing Query Fresh balances all aspects 16

  17. Evaluation • 8 x 16-core (2-socket) nodes • 1 primary + up to 7 backups • Xeon E5-2650 v2, 64GB RAM, logs in tmpfs • Target NV-DIMM: DRAM as log buffer + CLWB/FLUSH emulation • Network • Query Fresh: 56Gbps Infiniband FDR 4x + RDMA • Other schemes: 10Gbps Ethernet + TCP • Benchmarks in ERMIA • Primary: Full TPC-C, low contention • Backups: StockLevel + OrderStaus 17

  18. Query Fresh: maintains fast primary • 16 workers on primary, 4 replay threads + 12 workers on backups • Utilization = 75% (12 workers out of 16 total) Network saturated 18

  19. Query Fresh: fresh and high utilization • Freshness: backup read view / primary read view * 100% 19

  20. Conclusions • Slow network + Fast OLTP = Stale and Unsafe • Redundant data copies (dual-copy architecture) • Often serial, heavy-weighted log replay Fast, sync, safe • Query Fresh = Fast network + NVRAM + Append-only storage with indirection Fast replay → Fresh reads Find out more in our paper and code repo! https://github.com/ermia-db Thank you! 20

Recommend


More recommend