Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DynamoDB Step Zero to One
Search
Takafumi Yoshida
May 18, 2019
Technology
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DynamoDB Step Zero to One
Takafumi Yoshida
May 18, 2019
More Decks by Takafumi Yoshida
See All by Takafumi Yoshida
ECSとSQSでスケーラブルなバッチを作った
zephiransas
2
1.4k
ECSとALBで始めるblue/greenデプロイメント
zephiransas
2
350
DynamoDB関連のアップデート紹介 #reinvent2018
zephiransas
0
890
CloudGarageでGitBucketサーバをたててみた
zephiransas
0
550
プログラマが知っておくといいかもしれないCSSのハナシ
zephiransas
1
1.1k
ラクして学ぶ英語(LT版)
zephiransas
0
220
あなたとCrystal、いますぐダウンロード
zephiransas
1
1.8k
使ってみようLombok
zephiransas
0
290
Modern Web Development with ninjaframework
zephiransas
0
3.3k
Other Decks in Technology
See All in Technology
Running Kotlin + Quarkus with Lambda
nealle
1
4k
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Optunaの最新リリースv5.0について
pfn
PRO
0
120
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
210
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
880
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
300
How to Design Configuration for Rails Applications
willnet
1
850
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
140
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Exploring anti-patterns in Rails
aemeredith
4
540
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Design in an AI World
tapps
1
350
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Transcript
%ZOBNP%# 4UFQ;FSPUP0OF ٢ాوจ ![FQIJSBOTBT Ϋϥεϝιουגࣜձࣾ
εϥΠυޙͰೖख͢Δ͜ͱ͕ग़དྷ·͢ͷͰ ൃදதͷ༰ΛϝϞ͢Δඞཁ͋Γ·ͤΜɻ ࣸਅࡱӨΛ͢Δ߹ ϑϥογϡɾγϟολʔԻ͕ग़ͳ͍Α͏ʹྀ͍ͩ͘͝͞ Attention
#ChugokuDB
ࣗݾհ ٢ాوจ ![FQIJSBOTBT wΫϥεϝιουגࣜձࣾ wϞόΠϧΞϓϦαʔϏε෦ wԬࢁ+BWBϢʔβձදΦʔϓϯη ϛφʔԬࢁ࣮ߦҕһ
w͖ͳ"84ͷαʔϏε w&$4 %ZOBNP%#
ΞδΣϯμ w3%#ͱ%ZOBNP%# wΩϟύγςΟϢχοτ wύʔςΟγϣϯΩʔͱϨϯδΩʔ wσʔλ֨ೲʹ͍ͭͯ wݕࡧํ๏ w̎ͭͷಡΈࠐΈ߹ੑ w࣮ࡍͷར༻ྫ
RDBͱDynamoDB
3%#ͷಛ wߦͱΧϥϜͰߏ͞Εͨςʔϒϧ w42-Λͬͯɺࣗ༝ʹσʔλΛߜΓࠐΜͩΓ͠ ͯݕࡧ͕Ͱ͖Δ wσʔλͷҰ؏ੑ $POTJTUFODZ ɺॻ͖ࠐΈૢ࡞ ͷݪࢠੑ
"UPNJDJUZ wՄ༻ੑͱ֦ுੑΛߋʹٻΊΒΕΔΑ͏ʹͳͬͯ ͖ͨ
Մ༻ੑͱ֦ுੑΛͲ͏ߴΊΔͷ͔ʁ Մ༻ੑΛ্͛ΔʹԽ wෳͷϊʔυʹσʔλͷίϐʔΛ࣋ͭ wͲ͔͕͜োΛ͓ͯ͜͠ɺଞͷϊʔυͰॲཧ ΛܧଓͰ͖Δ ֦ுੑΛ্͛ΔʹʹࢄԽ wϊʔυ͝ͱʹड͚࣋ͭσʔλΛ͚Δ wࢄ͢Δ͜ͱͰੑೳΛ୲อ͢Δ
͔͠͠ԽɺࢄԽ͢Δͱ Ұ؏ੑΛอ࣋͢Δ͜ͱ͕͍͠
Մ༻ੑˍ֦ுੑ ͱ Ұ؏ੑτϨʔυΦϑ
Ұ؏ੑΛଟগ٘ਜ਼ʹͭͭ͠ ߴՄ༻ੑɺߴ֦ுੑΛऔΔ Ұ؏ੑͦΕ΄ͲॏཁͰͳ͍έʔεଟ
%ZOBNP%#ͷಛ wϑϧϚωʔδυ wΩʔͱͷอଘͷΈʹಛԽ wͭͷ";ʹσʔλΛίϐʔ͢Δ͜ͱͰɺߴ͍Մ ༻ੑΛ֬อ wෳͷϊʔυͰσʔλΛड͚࣋ͭ͜ͱͰɺߴ͍ ֦ுੑΛ֬อ
%ZOBNP%#ͷಛʢࠓ͞ͳ͍ʣ w55- 5JNFUP-JWF w%ZOBNP%#4USFBNT w%"9
3%#ͱൺͯͰ͖ͳ͍͜ͱ wॊೈͳݕࡧ wूܭ wςʔϒϧಉ࢜ͷ+0*/ w͍ϨίʔυʢLC੍ݶʣ wҰ؏ੑͷ͋ΔಡΈऔΓ wτϥϯβΫγϣϯʢݶఆతʣ
ΩϟύγςΟϢχοτ
ΩϟύγςΟϢχοτ wඵؒͨΓͷεϧʔϓοτΛࣄલʹઃఆͰ͖Δ wಡΈࠐΈɺॻ͖ࠐΈผʹࢦఆ w͍ͭͰແఀࢭͰ্͛ͨΓɺԼ͛ͨΓͰ͖Δ w$6ͷͰར༻ྉ͕ۚ΄΅ܾ·Δ
ΩϟύγςΟϢχοτ 3FBEDBQBDJUZ wϢχοτͰɺຖඵLCͷσʔλΛಡΈ͜ΊΔ 8SJUFDBQBDJUZ wϢχοτͰɺຖඵLCͷσʔλΛॻ͖͜ΊΔ wσʔλͷฏۉαΠζͱɺཁٻ͞ΕΔඵؒͷε ϧʔϓοτ͕͔ΕɺࣄલʹઃఆͰ͖Δ
ΩϟύγςΟϢχοτ ͑ΔͱͲ͏ͳΔͷʁ wεϩοτϦϯά͕ൃੜ͢ΔʢΤϥʔʹͳΔʣ w4%,ଆͰϦτϥΠͯ͘͠ΕΔ w$MPVE8BUDIͳͲͰεϩοτϦϯά͕ൃੜͯ͠ ͍ͳ͍͔ɺదʹࢹ wదͳ$6Λઃఆ͢Δඞཁ͕͋Δ
ΩϟύγςΟϢχοτ "VUP4DBMJOH wҰఆ࣌ؒɺࢦఆͨ͠$6Λ͍͑ͯͨ߹ʹɺ ࣗಈͰ$6Λ૿͢ʢݮΒ͢ʣ w༗ޮԽ͢Δͱ$MPVE8BUDI"MBSNʹ֤छ "MBSN͕࡞͞ΕΔͷͰɺͦͷ༰ΛνΣοΫ
ΩϟύγςΟϢχοτ 0O%FNBOE wશ͓·͔ͤίʔε wͨͩ͠ɺগʑ͓ߴ͍ʢఔʣ wIUUQTEFWDMBTTNFUIPEKQDMPVEBXT SFJOWFOUDPNQBSFEZOBNPECPO EFNBOEQSJDFXJUIQSPWJTJPOFEQSJDF
ύʔςΟγϣϯΩʔͱ ϨϯδΩʔ
ύʔςΟγϣϯΩʔͱ ύʔςΟγϣϯΩʔʢϋογϡΩʔʣ w3%#Ͱ͍͏ͱ͜ΖͷओΩʔ wͭͷΈࢦఆ wྫ͑Ϣʔβ*%ͳͲ wͲͷϊʔυʹσʔλΛ֨ೲ͢Δ͔ͷஅʹΘ ΕΔ
ςʔϒϧͷΠϝʔδ *E /BNF (SBEF 7BMVF ߴւઍՎ
ล༵ ࡩསࢠ ࠃాՖؙ
ϨϯδΩʔͱ ϨϯδΩʔʢιʔτΩʔʣ wύʔςΟγϣϯΩʔͱผʹɺෳ߹Ωʔͱͯ͠ ༻͢Δଐੑ wྫ͑λΠϜελϯϓͳͲ wݕࡧ࣌ʹ݅ࢦఆͰ͖Δ wΠίʔϧɺେখɺCFUXFFOɺCFHJOXJUI
ςʔϒϧͷΠϝʔδ *E %BUF 7BMVF
σʔλ֨ೲํ๏ʹ͍ͭͯ
JUFNࢄͨ͠ύʔςΟγϣϯʹอଘ͞ΕΔ *E ϋογϡ BCDE BDCE *E
ϋογϡ CBDE *E ϋογϡ DBCE node-A node-B node-C
JUFNͭͷ";ʹϨϓϦέʔτ͞ΕΔ *E ϋογϡ BCDE BDCE AZ1
*E ϋογϡ BCDE BDCE AZ2 *E ϋογϡ BCDE BDCE AZ3
σʔλ֨ೲͷΠϝʔδ /PEF ύʔςΟγϣϯΩʔ ϋογϡ ϨϯδΩʔ " BCDE
" BCDE " "DCE # CBDE $ DBCE
ݕࡧํ๏
%ZOBNP%#ͷݕࡧํ๏ w4DBO w(FU*UFN w2VFSZ
4DBO wશ݅ಡΈࠐΈ wίετ͕ߴ͍ wϑΟϧλΛࢦఆͰ͖Δ wશ݅औಘޙʹϑΟϧλ͕ద༻͞ΕΔ
(FU*UFN wύʔςΟγϣϯΩʔɺ·ͨύʔςΟγϣϯ ΩʔͱϨϯδΩʔΛࢦఆͯ͠ɺd݅ͷJUFNΛ औಘ͢Δ wϨϯδΩʔΛൣғࢦఆͰ͖ͳ͍
2VFSZ wύʔςΟγϣϯΩʔͱϨϯδΩʔΛࢦఆͯ͠ɺ ෳ݅ͷJUFNΛऔಘ͢Δ wϨϯδΩʔʹΠίʔϧɺେখɺCFUXFFOɺ CFHJOXJUIͳͲΛࢦఆͰ͖Δ
w%ZOBNP%#ͰσʔλΛߴʹݕࡧ͢Δͨ ΊɺύʔςΟγϣϯΛಛఆͰ͖ͳ͍ݕࡧఏڙ ͞Ε͍ͯͳ͍
σʔλ֨ೲͷΠϝʔδ /PEF ύʔςΟγϣϯΩʔ ϋογϡ ϨϯδΩʔ " BCDE
" BCDE " BDCE # CBDE $ DBCE
2ͭͷ ಡΈࠐΈ߹ੑ
̎ͭͷಡΈࠐΈ߹ੑ ݁Ռ߹ੑ wJUFNΛߋ৽ޙɺ͙͢͜ΕΛಡΈࠐΉͱݹ͍ σʔλ͕ฦͬͯ͘Δ߹͕͋Δ w࠷େͰඵఔ ڧ͍߹ੑ wඞͣ࠷৽ͷσʔλ͕ฦͬͯ͘Δ wͨͩ͠$6ΛഒҎ্ফඅ͢Δ
JUFNͭͷ";ʹϨϓϦέʔτ͞ΕΔ *E /BNF )PHF AZ1 AZ2 AZ3
*E /BNF )PHF *E /BNF )PHF
ߋ৽ॲཧΛͨ͠߹ɾɾɾ *E /BNF )PHF AZ1 AZ2 AZ3
*E /BNF 'VHB *E /BNF 'VHB
ڧ͍߹ੑͰಡΈࠐΜͩ߹ *E /BNF )PHF AZ1 AZ2 AZ3
*E /BNF 'VHB *E /BNF 'VHB
࣮ࡍͷར༻ྫ
ΞϓϦͷૢ࡞ϩά wϢʔβ*%ΛύʔςΟγϣϯΩʔ wλΠϜελϯϓΛϨϯδΩʔ wΠϕϯτϩάΛߴʹॻ͖͜Ή w%ZOBNP%#4USFBNT-BNCEB4 "UIFOBͰूܭ
ΧϨϯμʔσʔλ w3%#͚ͩͩͱΩπΠ w܁Γฦ͠ɺऴ༧ఆɺଞϢʔβͱͷڞ༗ΧϨϯ μʔɺެ։ൣғɾɾɾ w3%#ͷσʔλΛݩʹ424ʹλεΫΛ࡞ w%ZOBNP%#্ʹϢʔβɺผʹݸผʹ σʔλ࡞
·ͱΊ w3%#ɺ%ZOBNP%#ͦΕͧΕͷಛੑΛ׆͔͢ wΩϟύγςΟϢχοτదʹ w%ZOBNP%#͕σʔλΛͲͷΑ͏ʹอ͍࣋ͯ͠Δ ͔Πϝʔδ͢Δ͜ͱେࣄ wΫϥυͩͱ3%#%ZOBNP%#ͷଞʹσʔλ ετϨʔδ͋Δ w֤ʑͷσʔλͷϥΠϑαΠΫϧɺΞΫηεසɺ
ͳͲΛߟ͑ɺదͳσʔλετϨʔδʹσʔλΛ ஔ͜͏
͋Γ͕ͱ͏͍͟͝·ͨ͠