Presentation is loading. Please wait.

Presentation is loading. Please wait.

Making Fast Databases FASTER @andy_pavlo 1.

Similar presentations


Presentation on theme: "Making Fast Databases FASTER @andy_pavlo 1."— Presentation transcript:

1 Making Fast Databases FASTER @andy_pavlo 1

2

3 Fast Cheap + Although memory is getting cheap, load up single machine with a lot of RAM is still a bade idea, will take a long time to refresh cold cache. Therefore, although a single-node main memory database might be really fast, need to support multiple machines. This is hard. If a system is already fast, can we make it faster without giving up ACID?

4 Main Memory • Parallel • Shared-Nothing Transaction Processing

5 Stored Procedure Execution
Transaction Result Procedure Name Input Parameters Client Application

6

7 TPC-C NewOrder

8 Optimization #1: Partition database to reduce the number of distributed txns. Skew-Aware Automatic Database Partitioning in Shared-Nothing, Main Memory OLTP Systems In Submission

9 ITEM CUSTOMER CUSTOMER ORDERS CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS
c_id c_w_id c_last 1001 5 RZA - 1002 3 GZA 1003 12 Raekwon 1004 Deck 1005 6 Killah 1006 7 ODB i_id i_name i_price 603514 XXX 23.99 - 267923 19.99 475386 14.99 578945 9.98 476348 103.49 784285 69.99 c_id c_w_id c_last 1001 5 RZA - 1002 3 GZA 1003 12 Raekwon 1004 Deck 1005 6 Killah 1006 7 ODB o_id o_c_id o_w_id 78703 1004 5 - 78704 1002 3 78705 1006 7 78706 1005 6 78707 78708 1003 12 CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS ORDERS ITEM ITEM ITEM

10 Large-Neighorhood Search Algorithm
SELECT * FROM WAREHOUSE WHERE W_ID = 10; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); SELECT * FROM DISTRICT D_W_ID = 10 AND D_ID =9; SELECT * FROM DISTRICT WHERE D_W_ID = 10 AND D_ID =9; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID,…) VALUES (10, 9, 12345,…); NewOrder DDL CUSTOMER ITEM ORDERS DTxn Estimator DDL Schema Skew Estimator Workload Large-Neighorhood Search Algorithm CUSTOMER ORDERS ITEM CUSTOMER ORDERS ITEM CUSTOMER ORDERS ITEM CUSTOMER ORDERS ITEM

11 TATP TPC-C

12

13 ? Client Application ? ?

14 Optimization #2: Predict what txns will do before they execute.
On Predictive Modeling for Optimizing Transaction Execution in Parallel OLTP Systems in PVLDB, vol 5. issue 2, October 2011

15 Client Application April 5, 2019April 5, 2019
Mention that we’re using machine learning techniques.

16 Need to say what happens when you’re wrong.

17 +57% +126% +117% TATP TPC-C AuctionMark Houdini
Assume Single-Partitioned (txn/s) TATP TPC-C AuctionMark +57% +126% +117%

18

19 Conclusion: Future Work:
Achieving fast performance is more than just using only RAM. Future Work: Reduce distributed txn overhead through creative scheduling.

20 h-store hstore.cs.brown.edu github.com/apavlo/h-store

21 Help is Available Graduate Student Abuse Hotline Available 24/7 Collect Calls Accepted


Download ppt "Making Fast Databases FASTER @andy_pavlo 1."

Similar presentations


Ads by Google