1 / 18

Centiman : Scalable High Performance Transaction Processing

Centiman : Scalable High Performance Transaction Processing. Bailu Ding Cornell University. 2013. Why Large Scale TP is Important?. Internet scale web applications Multi-tenancy in the cloud. What Is a Transaction?.

levi
Télécharger la présentation

Centiman : Scalable High Performance Transaction Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Centiman: Scalable High Performance Transaction Processing Bailu Ding Cornell University 2013

  2. Why Large Scale TP is Important? • Internet scale web applications • Multi-tenancy in the cloud

  3. What Is a Transaction? • Transaction is a sequence of read / write operations executed in a database • ACID properties • Atomicity: no partial completion • Consistency: bring the database from one valid state to another • Isolation: concurrent execution of transactions results in a database state as they were executed serially (serializability) • Durability: committed transactions will remain in the database in case of failures

  4. Why Is Large Scale TP Hard • Lots of data • Scale beyond a single machine • Lots of transactions • High throughput • Strong consistency • Serializability • High availability

  5. Current Solution: Key Value Store • Scalability and high availability • Not transactional • Weak consistency

  6. Current Solution: Data Partitioning • Scalable • Strong consistency within a partition • Weak consistency across partitions • Strong consistency across partitions is expensive • Performance sensitive to choice of partition Jones, Evan et al. Low Overhead Concurrency Control for Partitioned Main Memory Databases. SIGMOD’10 Jason Baker et al. Megastore: Providing Scalable, Highly Available Storage for Interactive Services. CIDR’11

  7. Current Solution: Google Spanner • Scalable • Strong consistency • Require special hardware: GPS or atomic clocks James Corbett et al. Spanner: Google's Globally-Distributed Database. OSDI’12

  8. Our Goals • Large scale high performance transaction processing • Support strong consistency • No special hardware needed

  9. Concurrency Control • Concurrency control: keep transactions isolated • Locking-based concurrency control • Optimistic concurrency control

  10. Locking-based Concurrency Control Start T1(W(X)) T2(R(Y, X), W(X)) Obtain Locks Write Lock (X) Read Lock (Y) Release Locks and Commit Read / Execute / Write Read Lock (X) Release Locks and Commit Write Lock (X) Release Locks and Commit

  11. Optimistic Concurrency Control Start T1(W(X)) T2(R(Y, X), W(X)) Read Local Write (X) Read (Y, X) Local Write (X) Validate Execute / Local Write Update and Commit Validate Validation Abort Update and Commit / Abort Retry (optional)

  12. Centiman: Large Scale TP • Approach: optimistic concurrency control • Avoid overhead of locking • Centralized validation may become a bottleneck • Contribution: scalable validation • Parallel validation • Local timestamp generation • Watermark-based garbage collection

  13. OCC: Centralized Validation Start Validator Read Processor Processor Execute / Local Write Processor Validation Storage Storage Storage Update and Commit / Abort

  14. Parallel Validation Validator Validator Validator Client Client Processor Read / Update Database Read / Update Database Storage

  15. Parallel Validation Vblue Vred Blue Items Red Items Processor T Storage

  16. Experiment: TPC-C

  17. Experiment: TATP

  18. Future Work • Fault tolerance • Elasticity

More Related