DynamoDB Step Zero to One

DynamoDB Step Zero to One

Ab963de01b53e635d6e699d6d7d162b1?s=128

Takafumi Yoshida

May 18, 2019
Tweet

Transcript

  1. %ZOBNP%# 4UFQ;FSPUP0OF ٢ాوจ ![FQIJSBOTBT  Ϋϥεϝιουגࣜձࣾ

  2. εϥΠυ͸ޙͰೖख͢Δ͜ͱ͕ग़དྷ·͢ͷͰ ൃදதͷ಺༰ΛϝϞ͢Δඞཁ͸͋Γ·ͤΜɻ ࣸਅࡱӨΛ͢Δ৔߹͸ ϑϥογϡɾγϟολʔԻ͕ग़ͳ͍Α͏ʹ͝഑ྀ͍ͩ͘͞ Attention

  3.   #ChugokuDB

  4. ࣗݾ঺հ   ٢ాوจ ![FQIJSBOTBT  wΫϥεϝιουגࣜձࣾ wϞόΠϧΞϓϦαʔϏε෦ wԬࢁ+BWBϢʔβձ୅දΦʔϓϯη ϛφʔԬࢁ࣮ߦҕһ

    w޷͖ͳ"84ͷαʔϏε w&$4 %ZOBNP%#
  5. ΞδΣϯμ   w3%#ͱ%ZOBNP%# wΩϟύγςΟϢχοτ wύʔςΟγϣϯΩʔͱϨϯδΩʔ wσʔλ֨ೲʹ͍ͭͯ wݕࡧํ๏ w̎ͭͷಡΈࠐΈ੔߹ੑ w࣮ࡍͷར༻ྫ

  6.   RDBͱDynamoDB

  7. 3%#ͷಛ௃   wߦͱΧϥϜͰߏ੒͞Εͨςʔϒϧ w42-Λ࢖ͬͯɺࣗ༝ʹσʔλΛߜΓࠐΜͩΓ͠ ͯݕࡧ͕Ͱ͖Δ wσʔλͷҰ؏ੑ $POTJTUFODZ ɺॻ͖ࠐΈૢ࡞ ͷݪࢠੑ

    "UPNJDJUZ  wՄ༻ੑͱ֦ுੑΛߋʹٻΊΒΕΔΑ͏ʹͳͬͯ ͖ͨ
  8. Մ༻ੑͱ֦ுੑΛͲ͏ߴΊΔͷ͔ʁ   Մ༻ੑΛ্͛Δʹ͸৑௕Խ wෳ਺ͷϊʔυʹσʔλͷίϐʔΛ࣋ͭ wͲ͔͕͜ো֐Λ͓ͯ͜͠΋ɺଞͷϊʔυͰॲཧ ΛܧଓͰ͖Δ ֦ுੑΛ্͛Δʹʹ͸෼ࢄԽ wϊʔυ͝ͱʹड͚࣋ͭσʔλΛ෼͚Δ w෼ࢄ͢Δ͜ͱͰੑೳΛ୲อ͢Δ

  9.   ͔͠͠৑௕Խɺ෼ࢄԽ͢Δͱ Ұ؏ੑΛอ࣋͢Δ͜ͱ͕೉͍͠

  10.   Մ༻ੑˍ֦ுੑ ͱ Ұ؏ੑ͸τϨʔυΦϑ

  11.   Ұ؏ੑΛଟগ٘ਜ਼ʹͭͭ͠ ߴՄ༻ੑɺߴ֦ுੑΛऔΔ Ұ؏ੑ͸ͦΕ΄ͲॏཁͰͳ͍έʔε΋ଟ਺

  12. %ZOBNP%#ͷಛ௃   wϑϧϚωʔδυ wΩʔͱ஋ͷอଘͷΈʹಛԽ wͭͷ";ʹσʔλΛίϐʔ͢Δ͜ͱͰɺߴ͍Մ ༻ੑΛ֬อ wෳ਺ͷϊʔυͰσʔλΛड͚࣋ͭ͜ͱͰɺߴ͍ ֦ுੑΛ֬อ

  13. %ZOBNP%#ͷಛ௃ʢࠓ೔͸࿩͞ͳ͍ʣ   w55- 5JNFUP-JWF  w%ZOBNP%#4USFBNT w%"9

  14. 3%#ͱൺ΂ͯͰ͖ͳ͍͜ͱ   wॊೈͳݕࡧ wूܭ wςʔϒϧಉ࢜ͷ+0*/ w௕͍ϨίʔυʢLC੍ݶʣ wҰ؏ੑͷ͋ΔಡΈऔΓ wτϥϯβΫγϣϯʢݶఆతʣ

  15.   ΩϟύγςΟϢχοτ

  16. ΩϟύγςΟϢχοτ   wඵؒ౰ͨΓͷεϧʔϓοτΛࣄલʹઃఆͰ͖Δ wಡΈࠐΈɺॻ͖ࠐΈผʹࢦఆ w͍ͭͰ΋ແఀࢭͰ্͛ͨΓɺԼ͛ͨΓͰ͖Δ w$6ͷ஋Ͱར༻ྉ͕ۚ΄΅ܾ·Δ

  17. ΩϟύγςΟϢχοτ   3FBEDBQBDJUZ wϢχοτͰɺຖඵLCͷσʔλΛಡΈ͜ΊΔ 8SJUFDBQBDJUZ wϢχοτͰɺຖඵLCͷσʔλΛॻ͖͜ΊΔ wσʔλͷฏۉαΠζͱɺཁٻ͞ΕΔඵؒͷε ϧʔϓοτ͕෼͔Ε͹ɺࣄલʹઃఆͰ͖Δ

  18. ΩϟύγςΟϢχοτ   ௒͑ΔͱͲ͏ͳΔͷʁ wεϩοτϦϯά͕ൃੜ͢ΔʢΤϥʔʹͳΔʣ w4%,ଆͰϦτϥΠͯ͘͠ΕΔ w$MPVE8BUDIͳͲͰεϩοτϦϯά͕ൃੜͯ͠ ͍ͳ͍͔ɺద੾ʹ؂ࢹ wద੾ͳ$6Λઃఆ͢Δඞཁ͕͋Δ

  19. ΩϟύγςΟϢχοτ   "VUP4DBMJOH wҰఆ࣌ؒɺࢦఆͨ͠$6Λ௒͍͑ͯͨ৔߹ʹɺ ࣗಈͰ$6Λ૿΍͢ʢݮΒ͢ʣ w༗ޮԽ͢Δͱ$MPVE8BUDI"MBSNʹ֤छ "MBSN͕࡞੒͞ΕΔͷͰɺͦͷ಺༰ΛνΣοΫ

  20. ΩϟύγςΟϢχοτ   0O%FNBOE w׬શ͓·͔ͤίʔε wͨͩ͠ɺগʑ͓ߴ͍ʢఔ౓ʣ wIUUQTEFWDMBTTNFUIPEKQDMPVEBXT SFJOWFOUDPNQBSFEZOBNPECPO EFNBOEQSJDFXJUIQSPWJTJPOFEQSJDF

  21.   ύʔςΟγϣϯΩʔͱ ϨϯδΩʔ

  22. ύʔςΟγϣϯΩʔͱ͸   ύʔςΟγϣϯΩʔʢϋογϡΩʔʣ w3%#Ͱ͍͏ͱ͜ΖͷओΩʔ wͭͷΈࢦఆ wྫ͑͹Ϣʔβ*%ͳͲ wͲͷϊʔυʹσʔλΛ֨ೲ͢Δ͔ͷ൑அʹ࢖Θ ΕΔ

  23. ςʔϒϧͷΠϝʔδ   *E /BNF (SBEF 7BMVF  ߴւઍՎ 

      ౉ล༵    ࡩ಺སࢠ    ࠃ໦ాՖؙ  
  24. ϨϯδΩʔͱ͸   ϨϯδΩʔʢιʔτΩʔʣ wύʔςΟγϣϯΩʔͱ͸ผʹɺෳ߹Ωʔͱͯ͠ ࢖༻͢Δଐੑ wྫ͑͹λΠϜελϯϓͳͲ wݕࡧ࣌ʹ৚݅ࢦఆͰ͖Δ wΠίʔϧɺେখɺCFUXFFOɺCFHJOXJUI

  25. ςʔϒϧͷΠϝʔδ   *E %BUF 7BMVF    

              
  26.   σʔλ֨ೲํ๏ʹ͍ͭͯ

  27. JUFN͸෼ࢄͨ͠ύʔςΟγϣϯʹอଘ͞ΕΔ   *E ϋογϡ஋  BCDE  BDCE *E

    ϋογϡ஋  CBDE *E ϋογϡ஋  DBCE node-A node-B node-C
  28. JUFN͸ͭͷ";ʹϨϓϦέʔτ͞ΕΔ   *E ϋογϡ஋  BCDE  BDCE AZ1

    *E ϋογϡ஋  BCDE  BDCE AZ2 *E ϋογϡ஋  BCDE  BDCE AZ3
  29. σʔλ֨ೲͷΠϝʔδ   /PEF ύʔςΟγϣϯΩʔ ϋογϡ஋ ϨϯδΩʔ "  BCDE

     "  BCDE  "  "DCE  #  CBDE  $  DBCE 
  30.   ݕࡧํ๏

  31. %ZOBNP%#ͷݕࡧํ๏   w4DBO w(FU*UFN w2VFSZ

  32. 4DBO   wશ݅ಡΈࠐΈ wίετ͕ߴ͍ wϑΟϧλΛࢦఆͰ͖Δ wશ݅औಘޙʹϑΟϧλ͕ద༻͞ΕΔ

  33. (FU*UFN   wύʔςΟγϣϯΩʔɺ·ͨ͸ύʔςΟγϣϯ ΩʔͱϨϯδΩʔΛࢦఆͯ͠ɺd݅ͷJUFNΛ औಘ͢Δ wϨϯδΩʔΛൣғࢦఆͰ͖ͳ͍

  34. 2VFSZ   wύʔςΟγϣϯΩʔͱϨϯδΩʔΛࢦఆͯ͠ɺ ෳ਺݅ͷJUFNΛऔಘ͢Δ wϨϯδΩʔʹ͸ΠίʔϧɺେখɺCFUXFFOɺ CFHJOXJUIͳͲΛࢦఆͰ͖Δ

  35.   w%ZOBNP%#Ͱ͸σʔλΛߴ଎ʹݕࡧ͢Δͨ ΊɺύʔςΟγϣϯΛಛఆͰ͖ͳ͍ݕࡧ͸ఏڙ ͞Ε͍ͯͳ͍

  36. σʔλ֨ೲͷΠϝʔδ   /PEF ύʔςΟγϣϯΩʔ ϋογϡ஋ ϨϯδΩʔ "  BCDE

     "  BCDE  "  BDCE  #  CBDE  $  DBCE 
  37.   2ͭͷ ಡΈࠐΈ੔߹ੑ

  38. ̎ͭͷಡΈࠐΈ੔߹ੑ   ݁Ռ੔߹ੑ wJUFNΛߋ৽ޙɺ͙͢͜ΕΛಡΈࠐΉͱݹ͍ σʔλ͕ฦͬͯ͘Δ৔߹͕͋Δ w࠷େͰ΋ඵఔ౓ ڧ͍੔߹ੑ wඞͣ࠷৽ͷσʔλ͕ฦͬͯ͘Δ wͨͩ͠$6ΛഒҎ্ফඅ͢Δ

  39. JUFN͸ͭͷ";ʹϨϓϦέʔτ͞ΕΔ   *E /BNF  )PHF AZ1 AZ2 AZ3

    *E /BNF  )PHF *E /BNF  )PHF
  40. ߋ৽ॲཧΛͨ͠৔߹ɾɾɾ   *E /BNF  )PHF AZ1 AZ2 AZ3

    *E /BNF  'VHB *E /BNF  'VHB
  41. ڧ͍੔߹ੑͰಡΈࠐΜͩ৔߹   *E /BNF  )PHF AZ1 AZ2 AZ3

    *E /BNF  'VHB *E /BNF  'VHB
  42.   ࣮ࡍͷར༻ྫ

  43. ΞϓϦͷૢ࡞ϩά   wϢʔβ*%ΛύʔςΟγϣϯΩʔ wλΠϜελϯϓΛϨϯδΩʔ wΠϕϯτϩάΛߴ଎ʹॻ͖͜Ή w%ZOBNP%#4USFBNT-BNCEB4 "UIFOBͰूܭ

  44. ΧϨϯμʔσʔλ   w3%#͚ͩͩͱΩπΠ w܁Γฦ͠ɺऴ೔༧ఆɺଞϢʔβͱͷڞ༗ΧϨϯ μʔɺެ։ൣғɾɾɾ w3%#ͷσʔλΛݩʹ424ʹλεΫΛ࡞੒ w%ZOBNP%#্ʹϢʔβɺ೔෇ผʹݸผʹ౎౓ σʔλ࡞੒

  45. ·ͱΊ   w3%#ɺ%ZOBNP%#ͦΕͧΕͷಛੑΛ׆͔͢ wΩϟύγςΟϢχοτ͸ద੾ʹ w%ZOBNP%#͕σʔλΛͲͷΑ͏ʹอ͍࣋ͯ͠Δ ͔Πϝʔδ͢Δ͜ͱ͸େࣄ wΫϥ΢υͩͱ3%#΍%ZOBNP%#ͷଞʹ΋σʔλ ετϨʔδ͸͋Δ w֤ʑͷσʔλͷϥΠϑαΠΫϧɺΞΫηεස౓ɺ

    ͳͲΛߟ͑ɺద੾ͳσʔλετϨʔδʹσʔλΛ ஔ͜͏
  46.   ͋Γ͕ͱ͏͍͟͝·ͨ͠