Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DynamoDB Step Zero to One
Search
Takafumi Yoshida
May 18, 2019
Technology
0
630
DynamoDB Step Zero to One
Takafumi Yoshida
May 18, 2019
Tweet
Share
More Decks by Takafumi Yoshida
See All by Takafumi Yoshida
ECSとSQSでスケーラブルなバッチを作った
zephiransas
2
1.2k
ECSとALBで始めるblue/greenデプロイメント
zephiransas
2
310
DynamoDB関連のアップデート紹介 #reinvent2018
zephiransas
0
740
CloudGarageでGitBucketサーバをたててみた
zephiransas
0
510
プログラマが知っておくといいかもしれないCSSのハナシ
zephiransas
1
1k
ラクして学ぶ英語(LT版)
zephiransas
0
190
あなたとCrystal、いますぐダウンロード
zephiransas
1
1.7k
使ってみようLombok
zephiransas
0
250
Modern Web Development with ninjaframework
zephiransas
0
3.1k
Other Decks in Technology
See All in Technology
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
180
分解して理解する Aspire
nenonaninu
2
1.1k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
190
OPENLOGI Company Profile for engineer
hr01
1
20k
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
380
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
320
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
140
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
170
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
170
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.7k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1368
200k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Optimizing for Happiness
mojombo
376
70k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Done Done
chrislema
182
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
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֤ʑͷσʔλͷϥΠϑαΠΫϧɺΞΫηεසɺ
ͳͲΛߟ͑ɺదͳσʔλετϨʔδʹσʔλΛ ஔ͜͏
͋Γ͕ͱ͏͍͟͝·ͨ͠