1 / 27

@ andy_pavlo

On Predictive Modeling for D istributed D atabases. @ andy_pavlo. VLDB - August 28 th , 2012. Databases?. Evan Jones?. Putin is going to get re-elected!. Romney has a Swiss bank account!. Muammar Gaddafi is in trouble!. High-Volume. Transaction Processing. z. ,. ?.

brita
Download Presentation

@ andy_pavlo

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