data systems that are easy to design tune and use
play

Data Systems that are Easy to Design, Tune and Use Stratos Idreos - PowerPoint PPT Presentation

Data Systems that are Easy to Design, Tune and Use Stratos Idreos applications api/sql algorithms/operators cpu data data data memory hierarchy data system kernel Stratos Idreos design space it all starts with how we store data every


  1. column A 4 4 13 Q1: 9 2 16 select R.A 2 1 4 piece1: A<=7 from R piece1: 7 3 9 where R.A>10 A<=10 1 6 2 and R.A<14 3 7 12 8 9 7 piece2: 7<A<=10 6 8 1 Q2: 13 13 19 piece2: select R.A piece3: 10<A<14 12 12 3 10<A<14 from R 11 11 14 where R.A>7 16 14 11 and R.A<=16 piece3: 19 16 8 A>=14 14 19 6 dynamically/on-the-fly within the select-operator Database Cracking CIDR 2007 Stratos Idreos

  2. column A 4 4 13 Q1: 9 2 16 select R.A 2 1 4 piece1: A<=7 from R piece1: 7 3 9 where R.A>10 A<=10 1 6 2 and R.A<14 3 7 12 8 9 7 piece2: 7<A<=10 6 8 1 Q2: 13 13 19 piece2: select R.A piece3: 10<A<14 12 12 3 10<A<14 from R 11 11 14 where R.A>7 16 14 11 piece4: 14<=A<=16 and R.A<=16 piece3: 19 16 8 piece5: A>16 A>=14 14 19 6 dynamically/on-the-fly within the select-operator Database Cracking CIDR 2007 Stratos Idreos

  3. column A 4 4 13 Q1: 9 2 16 select R.A 2 1 4 piece1: A<=7 from R piece1: 7 3 9 where R.A>10 A<=10 1 6 2 and R.A<14 3 7 12 8 9 7 piece2: 7<A<=10 6 8 1 Q2: 13 13 19 result piece2: select R.A piece3: 10<A<14 12 12 3 10<A<14 from R 11 11 14 where R.A>7 16 14 11 piece4: 14<=A<=16 and R.A<=16 piece3: 19 16 8 piece5: A>16 A>=14 14 19 6 dynamically/on-the-fly within the select-operator Database Cracking CIDR 2007 Stratos Idreos

  4. the more we crack, the more we learn column A 4 4 13 Q1: 9 2 16 select R.A 2 1 4 piece1: A<=7 from R piece1: 7 3 9 where R.A>10 A<=10 1 6 2 and R.A<14 3 7 12 8 9 7 piece2: 7<A<=10 6 8 1 Q2: 13 13 19 result piece2: select R.A piece3: 10<A<14 12 12 3 10<A<14 from R 11 11 14 where R.A>7 16 14 11 piece4: 14<=A<=16 and R.A<=16 piece3: 19 16 8 piece5: A>16 A>=14 14 19 6 dynamically/on-the-fly within the select-operator Database Cracking CIDR 2007 Stratos Idreos

  5. Database Cracking CIDR 2007 Stratos Idreos

  6. select [15,55] Database Cracking CIDR 2007 Stratos Idreos

  7. select [15,55] Database Cracking CIDR 2007 Stratos Idreos

  8. select [15,55] 40 50 30 60 10 20 Database Cracking CIDR 2007 Stratos Idreos

  9. select [15,55] 40 50 30 60 10 20 select [15,55] Database Cracking CIDR 2007 Stratos Idreos

  10. select [15,55] 40 50 30 60 10 20 select [15,55] Database Cracking CIDR 2007 Stratos Idreos

  11. touch at most two pieces at a time pieces become smaller and smaller select [15,55] 40 50 30 60 10 20 select [15,55] Database Cracking CIDR 2007 Stratos Idreos

  12. continuous adaptation set-up Scan 100K random selections 1000 random selectivity random value ranges 100 in a 10 million integer column Response time (secs) 10 Crack 1 0.1 Full Index 0.01 0.001 1 10 100 1000 10000 100000 Query sequence (x1000) Database Cracking CIDR 2007 Stratos Idreos

  13. continuous adaptation set-up Scan 100K random selections 1000 random selectivity random value ranges 100 in a 10 million integer column Response time (secs) 10 Crack 1 almost no 0.1 initialization overhead Full Index 0.01 0.001 1 10 100 1000 10000 100000 Query sequence (x1000) Database Cracking CIDR 2007 Stratos Idreos

  14. continuous adaptation set-up Scan 100K random selections 1000 random selectivity random value ranges 100 in a 10 million integer column Response time (secs) 10 Crack 1 almost no 0.1 initialization overhead Full Index 0.01 continuous improvement 0.001 1 10 100 1000 10000 100000 Query sequence (x1000) Database Cracking CIDR 2007 Stratos Idreos

  15. continuous adaptation set-up Scan 100K random selections 1000 random selectivity random value ranges 100 in a 10 million integer column Response time (secs) 10 Crack 1 almost no 0.1 initialization overhead Full Index 0.01 continuous improvement 0.001 1 10 100 1000 10000 100000 Query sequence (x1000) Database Cracking CIDR 2007 Stratos Idreos

  16. continuous adaptation set-up 200 Full Index 100 10K random selections Cumulative average response time (secs) selectivity 10% random value ranges 10 in a 30 million integer column Scan 1 0.1 0.01 Crack 0.004 0.001 1 10 100 1000 10000 Query sequence Database Cracking CIDR 2007 Stratos Idreos

  17. continuous adaptation set-up 200 Full Index 100 10K random selections Cumulative average response time (secs) selectivity 10% random value ranges 10 in a 30 million integer column Scan 1 0.1 0.01 Crack 0.004 0.001 1 10 100 1000 10000 Query sequence Database Cracking CIDR 2007 Stratos Idreos

  18. continuous adaptation set-up 200 Full Index 100 10K random selections Cumulative average response time (secs) selectivity 10% random value ranges 10 in a 30 million integer column Scan 1 0.1 0.01 Crack 10K queries later, 0.004 Full Index still has not 0.001 amortized the initialization costs 1 10 100 1000 10000 Query sequence Database Cracking CIDR 2007 Stratos Idreos

  19. table1 A Stratos Idreos

  20. table1 A B C D ... ... Stratos Idreos

  21. select R.A from R where R.A>10 and R.A<14 table1 A B C D ... ... Stratos Idreos

  22. select R.A from R where R.A>10 and R.A<14 select max(R.A),max(R.B),max(S.A),max(S.B) from R,S where v1 <R.C<v2 and v3 <R.D<v4 and v5 <R.E<v6 and k1 <S.C<k2 and k3 <S.D<k4 and k5 <S.E<k6 and R.F = S.F table1 A B C D ... ... Stratos Idreos

  23. select R.A from R where R.A>10 and R.A<14 select max(R.A),max(R.B),max(S.A),max(S.B) from R,S where v1 <R.C<v2 and v3 <R.D<v4 and v5 <R.E<v6 and k1 <S.C<k2 and k3 <S.D<k4 and k5 <S.E<k6 and R.F = S.F table1 updates A B C D joins ... concurrency control ... ... Stratos Idreos

  24. cracking databases basics (CIDR07) >1 storage- updates >1 columns columns restrictions (SIGMOD07) (SIGMOD09) (SIGMOD09) benchmarking robustness algorithms robustne (TPCTC10) (PVLDB12) (PVLDB11) concurrency control multi-cores time-series (PVLDB12) (SIGMOD15) (SIGMOD14) adaptive storage (SIGMOD14) b-trees hadoop (HP Labs) (Yale/Saarland)

  25. cracking tangram base data as queries arrive... table 1 A B C D table 2 A B C D Stratos Idreos

  26. cracking tangram base data as queries arrive... table 1 table 1 A B C D A B C D table 2 table 2 A B C D A B C D Stratos Idreos

  27. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D table 2 table 2 A B C D A B C D Stratos Idreos

  28. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing table 2 table 2 A B C D A B C D Stratos Idreos

  29. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation table 2 table 2 A B C D A B C D Stratos Idreos

  30. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D x partial indexing continuous adaptation storage adaptation table 2 table 2 x A B C D A B C D x Stratos Idreos

  31. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation table 2 table 2 A B C D A B C D Stratos Idreos

  32. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction table 2 table 2 A B C D A B C D Stratos Idreos

  33. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 A B C D A B C D Stratos Idreos

  34. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 A B C D A B C D Stratos Idreos

  35. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 sort in caches A B C D A B C D Stratos Idreos

  36. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 sort in caches A B C D A B C D crack joins Stratos Idreos

  37. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 sort in caches A B C D A B C D q1 crack joins q2 lightweight locking Stratos Idreos

  38. cracking tangram base data as queries arrive... table 1 table 1 partial materialization A B C D A B C D partial indexing continuous adaptation storage adaptation no tuple reconstruction adaptive alignment table 2 table 2 sort in caches A B C D A B C D query crack joins random lightweight locking stochastic cracking Stratos Idreos

  39. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 250 200 150 100 70 0 5 10 15 20 25 30 Query sequence Sideways Cracking, SIGMOD 09 Stratos Idreos

  40. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 100 70 0 5 10 15 20 25 30 Query sequence Sideways Cracking, SIGMOD 09 Stratos Idreos

  41. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 100 70 presorted MonetDB 0 5 10 15 20 25 30 preparation cost Query sequence 3-14 minutes Sideways Cracking, SIGMOD 09 Stratos Idreos

  42. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 MonetDB with 100 sideways cracking 70 presorted MonetDB 0 5 10 15 20 25 30 preparation cost Query sequence 3-14 minutes Sideways Cracking, SIGMOD 09 Stratos Idreos

  43. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 MonetDB with 100 sideways cracking 70 presorted MonetDB 0 5 10 15 20 25 30 preparation cost Query sequence 3-14 minutes Sideways Cracking, SIGMOD 09 Stratos Idreos

  44. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 MonetDB with 100 sideways cracking 70 presorted MonetDB 0 5 10 15 20 25 30 preparation cost Query sequence 3-14 minutes Sideways Cracking, SIGMOD 09 Stratos Idreos

  45. MonetDB Sel. Crack MySQL Presorted Sid. Crack Presorted 10000 Response time (milli secs) 1000 764 TPC-H Query 15 330 420 300 normal MonetDB 250 200 selection cracking 150 MonetDB with 100 sideways cracking 70 presorted MonetDB 0 5 10 15 20 25 30 preparation cost Query sequence 3-14 minutes Sideways Cracking, SIGMOD 09 Stratos Idreos

  46. cracking on Skyserver (4TB) (Sloan Digital Sky Survey, www.sdss.org) cracking answers 160.000 queries while full indexing is still half way creating one index Stochastic Cracking, PVLDB 12 Stratos Idreos

Recommend


More recommend