170 likes | 279 Views
Transaction chains: achieving serializability with low-latency in geo-distributed storage systems. Author: Yang Zhang[SOSP’ 13] Presentator : Jianxiong Gao. Geo-distributed Nature . Large-scale Web applications. Geo-distributed storage. Replication. Shards Derived Tables
E N D
Transaction chains: achieving serializability with low-latency in geo-distributed storage systems Author: Yang Zhang[SOSP’ 13] Presentator: Jianxiong Gao
Geo-distributed Nature Large-scale Web applications Geo-distributed storage Replication • Shards • Derived Tables • Secondary Indices • Materialized Join Views • Geo-Replicas
Transaction in database management • Recovery from failure • Isolation among transactions
Prior work High latency Strict serializable Spanner [OSDI’12] Provably high latency according to CAP Serializable ? Lynx[SOSP’13] Walter [SOSP’11] Various non-serializable COPS [SOSP’11] Eiger [NSDI’13] • Low latency Dynamo [SOSP’07] Eventual General transaction Key/value only Limited forms of transaction
Transaction in database managementwhile maintaining low latency • Recovery from failure • If the first hop of a chain commits, then all hops eventually commit • Users are only allowed to abort a chain in the first hop • Log chains durably at the first hop • Logs replicated to a nearby datacenter • Re-execute stalled chains upon failure recovery • Isolation among transactions • Home geo-replica • Sequence number vectors
Sequence Number Vectors Event A: Go through (P1 – P3 – P2) Event B: Go through (P1 – P2 )
What are hops? • Serializability • Defination: Serializability of a schedule means equivalence (in the outcome, the database state, data values) to a serial schedule (i.e., sequential with no transaction overlap in time) with the same transactions. Transactions Ordering 1 Ordering 2
Serializable Example Transaction 1: Tbid Transaction 2: Tadd Transaction 3: Tread Serializable Strict serializable Time
What are hops? Operation: Alice bids on Bob’s camera 1. Insert bid to Alice’s Bids 2. Update highest bid on Bob’s Items Alice’s Bids Bob Bob’s Items Alice Datacenter-1 Datacenter-2
What are hops? • S-edge: Connecting unchopped transactions • C-edge: Connecting vertices write to the same item. • Chopping • When can we chop?
What are hops? • Serializable when no SC-cycles. Shasha[Transactions on Database Systems’ 95] • Solution: Remove C-edges.
System Chains Subchains either commute Or has origin ordering • Secondary Index • Join View • Geo-replication
Experimental setup europe 153ms 102ms • Lynx protoype: • In-memory database • Local disk logging only. 82ms us-east us-west
Results: Response Time Chain completion
Other thoughts & Coments • Can we always chop? • Too many derived table? • Actual transaction time not reduced. • More experiments?
Thanks! • Graphs and parts of slides accredit to author of the paper: Yang Zhang.