Parallel ¡DBs ¡& ¡MapReduce CSE ¡344 ¡– ¡SECTION ¡10
Big Bi g Data
The ¡Three ¡V’s ¡of ¡Big ¡Data
A ¡Brief ¡Story…
PredicIng ¡the ¡future…
MapReduce
MapReduce ¡Phases
WordCount ¡Example ¡ Map(int ¡id, ¡String[] ¡val) ¡ ¡for ¡word ¡in ¡val: ¡ ¡ ¡emitIntermediate(word, ¡1) ¡ ¡ ¡ ß shuffling ¡ ¡ Reduce(String ¡word, ¡Iterator ¡vals) ¡ ¡cnt ¡= ¡0 ¡ ¡for ¡i ¡in ¡vals: ¡ ¡ ¡cnt ¡++ ¡ ¡emit(cnt) ¡ ¡// ¡emit(word ¡+ ¡‘:’ ¡+ ¡cnt) ¡
Parallel ¡Databases ¡ Shared ¡memory ¡ ¡ Shared ¡disk ¡ ¡ Shared ¡nothing ¡ 9 ¡ CSE ¡344 ¡-‑ ¡FALL ¡2015 ¡
Shared ¡Memory P P P Interconnection Network Global Shared Memory D D D 10 ¡ CSE ¡344 ¡-‑ ¡FALL ¡2015 ¡
Shared ¡Disk M M M P P P Interconnection Network D D D 11 ¡ CSE ¡344 ¡-‑ ¡FALL ¡2015 ¡
Shared ¡Nothing Interconnection Network P P P M M M D D D 12 ¡ CSE ¡344 ¡-‑ ¡FALL ¡2015 ¡
Horizontal ¡ParIIoning ¡ Block ¡ParVVon ¡vs. ¡Range ¡ParVVon ¡vs. ¡Hash ¡ParVVon ¡
Horizontal ¡Data ¡ParIIoning ¡ Block ¡ParVVon: ¡ ¡ ◦ ParVVon ¡tuples ¡arbitrarily ¡s.t. ¡size(R 1 )≈ ¡… ¡≈ ¡size(R P ) ¡ ¡ ¡ Hash ¡parVVoned ¡on ¡a^ribute ¡A: ¡ ◦ Tuple ¡t ¡goes ¡to ¡chunk ¡i, ¡where ¡i ¡= ¡h(t.A) ¡mod ¡P ¡+ ¡1 ¡ ¡ Range ¡parVVoned ¡on ¡a^ribute ¡A: ¡ ◦ ParVVon ¡the ¡range ¡of ¡A ¡into ¡ ¡-‑∞ ¡= ¡v 0 ¡< ¡v 1 ¡< ¡… ¡< ¡v P ¡= ¡∞ ¡ ◦ Tuple ¡t ¡goes ¡to ¡chunk ¡i, ¡if ¡v i-‑1 ¡< ¡t.A ¡< ¡v i ¡ 14 ¡ CSE ¡344 ¡-‑ ¡FALL ¡2015 ¡
R(a, b) SELECT ¡a, ¡count(b) ¡as ¡countb ¡ ¡ ¡ ¡ FROM ¡R ¡ WHERE ¡a ¡> ¡0 ¡ GROUP ¡BY ¡a Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 15 CSE 344 - FALL 2015
R(a, b) SELECT ¡a, ¡count(b) ¡as ¡countb ¡ ¡ ¡ ¡ FROM ¡R ¡ WHERE ¡a ¡> ¡0 ¡ GROUP ¡BY ¡a scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 16 CSE 344 - FALL 2015
R(a, b) SELECT ¡a, ¡count(b) ¡as ¡countb ¡ ¡ ¡ ¡ FROM ¡R ¡ WHERE ¡a ¡> ¡0 ¡ GROUP ¡BY ¡a σ a>0 σ a>0 σ a>0 scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 17 CSE 344 - FALL 2015
R(a, b) SELECT ¡a, ¡count(b) ¡as ¡countb ¡ ¡ ¡ ¡ FROM ¡R ¡ WHERE ¡a ¡> ¡0 ¡ GROUP ¡BY ¡ ¡a γ a, count(b)-> b γ a, count(b)-> b γ a, count(b)-> b σ a>0 σ a>0 σ a>0 scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 18 CSE 344 - FALL 2015
R(a, b) SELECT ¡a, ¡count(b) ¡as ¡countb ¡ ¡ ¡ ¡ FROM ¡R ¡ WHERE ¡a ¡> ¡0 ¡ GROUP ¡BY ¡a Hash on a Hash on a Hash on a γ a, count(b)-> b γ a, count(b)-> b γ a,count(b)-> b σ a>0 σ a>0 σ a>0 scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 19
SELECT ¡a, ¡count(b) ¡as ¡countb ¡ R(a, b) FROM ¡R ¡WHERE ¡a ¡> ¡0 ¡GROUP ¡BY ¡a Hash on a Hash on a Hash on a γ a, count(b)-> b γ a, count(b)-> b γ a, count(b)-> b σ a>0 σ a>0 σ a>0 scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 20
SELECT ¡a, ¡count(b) ¡as ¡countb ¡ R(a, b) FROM ¡R ¡WHERE ¡a ¡> ¡0 ¡GROUP ¡BY ¡a γ a, sum(b)->countb γ a, sum(b)->countb γ a, sum(b)->countb Hash on a Hash on a Hash on a γ a, count(b)-> b γ a, count(b)-> b γ a, count(b)-> b σ a>0 σ a>0 σ a>0 scan scan scan Machine 1 Machine 2 Machine 3 1/3 of R 1/3 of R 1/3 of R 21
Recommend
More recommend