1 / 27

Optimizing Transaction Execution in Distributed Databases through Predictive Modeling

This document discusses the use of predictive modeling to enhance transaction execution in parallel online transaction processing (OLTP) systems. By employing models to estimate transaction behavior before execution, databases can significantly optimize performance. Key topics include the execution of multiple queries across partitions, the determination of which optimizations to enable in the database management system (DBMS), and empirical evaluations illustrating performance improvements in high-volume transaction processing environments.

brita
Télécharger la présentation

Optimizing Transaction Execution in Distributed Databases through Predictive Modeling

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. On Predictive Modeling for Distributed Databases @andy_pavlo VLDB - August 28th, 2012

  2. Databases? Evan Jones?

  3. Putin is going to get re-elected! Romney has a Swiss bank account! Muammar Gaddafi is in trouble!

  4. High-Volume Transaction Processing z , ?

  5. Main Memory•Parallel•Shared-Nothing H-Store: A High-Performance, DistributedMain Memory Transaction Processing SystemProc. VLDB Endow., vol. 1, iss. 2, pp. 1496-1499, 2008.

  6. Fast Repetitive Small

  7. Transaction Execution Proc. Name Input Params Transaction Result Client Database Cluster Database Cluster

  8. ? P1 P2 P3 P4 ? ? Client Database Cluster Database Cluster

  9. This transaction will execute 4 queries on partitions 1,3, and 6!

  10. Pro Tip: Canadians do notlike unnecessary surgeries.

  11. Main Idea: Use models to predict transaction behavior before execution. On Predictive Modeling for OptimizingTransaction Execution in Parallel OLTP SystemsProc. VLDB Endow., vol. 5, iss. 2, pp. 85-96, 2011.

  12. Client Database Cluster Database Cluster

  13. Step #1: Estimate the path that the transaction will take.

  14. Current State Input Parameters: w_id=0 i_w_ids=[0,0] i_ids=[1001,1002] ? ? GetWarehouse: SELECT * FROM WAREHOUSEWHERE W_ID = ?

  15. Step #2: Determine which optimizations to enable in the DBMS.

  16. Input Parameters: +1 w_id=0 i_w_ids=[0,0] i_ids=[1001,1002] +1 Optimizations: • Best Partition? • Touched Partitions? +1 • Finished Partitions? +1 +1

  17. Current State Input Parameters: w_id=0 i_w_ids=[0,1] i_ids=[1001,1002] ? ? CheckStock: SELECT S_QTY FROM STOCKWHERE S_W_ID = ?AND S_I_ID = ?; ? InsertOrder: X INSERTINTO ORDERS (o_id, o_w_id) VALUES (?, ?);

  18. November 9, 2011

  19. w_id=0 i_w_ids=[0,1] i_ids=[1001,1002] HashValue(w_id) =0 =1 ArrayLength(i_w_ids) ArrayLength(i_w_ids) =1 =2 =1 =2

  20. Experimental Evaluation

  21. 94.9% +1.86% 95.0% +1.17% 90.2% +8.15%

  22. (txn/s) Houdini Assume Single-Partitioned TATP TPC-C AuctionM +57% +126% +117%

  23. Conclusion: Scaling your OLTP DBMS must come from within.

  24. http://hstore.cs.brown.edu https://github.com/apavlo/h-store

  25. November 9, 2011

More Related