Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AWS DynamoDB Accelerator (DAX) 101
Kenju Wagatsuma
February 14, 2020
Programming
2
5.9k
AWS DynamoDB Accelerator (DAX) 101
Introduction to AWS DynamoDB Accelerator (DAX)
Kenju Wagatsuma
February 14, 2020
Tweet
Share
More Decks by Kenju Wagatsuma
See All by Kenju Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
77
Kafka on Kubernetes with Strimzi
kenju
0
31
Moden browser introduction
kenju
1
280
Cookpad summer internship 2019 - API
kenju
0
9.3k
Introduction to Design Patterns
kenju
0
6
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
8.5k
Introduction to TypeScript
kenju
0
620
Introduction to Programmatic Ad
kenju
0
81
社内管理システムのための技術選定
kenju
0
660
Other Decks in Programming
See All in Programming
Vite でお手軽 Vue.js の環境構築
azuki
2
190
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
250
"What's new in Swift"の要約 / swift_5_7_summary
uhooi
1
340
シェーダー氷山発掘記
logilabo
0
150
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
160
Web API連携でCSRF対策がどう実装されてるか調べた / how to implements csrf-detection on Web API
yasuakiomokawa
2
470
データ分析やAIの "運用" について考える
mmorito
0
150
Power Automateドリブンのチームマネジメント
hanaseleb
0
190
Haskellでオブジェクト指向プログラミング
koheisakata
0
120
GDG Seoul IO Extended 2022 - Android Compose
taehwandev
0
330
iOS 16からのロック画面Widget争奪戦に備える
tsuzuki817
0
250
IE Graduation Certificate
jxck
6
4.8k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
11
4.7k
A Tale of Four Properties
chriscoyier
149
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
39
13k
A designer walks into a library…
pauljervisheath
196
16k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Rails Girls Zürich Keynote
gr2m
86
12k
Robots, Beer and Maslow
schacon
152
7.1k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
Facilitating Awesome Meetings
lara
29
4k
Web development in the modern age
philhawksworth
197
9.3k
Transcript
DAX 101 1 2020/2/15 Kenju Wagatsuma
DAX Wrap Up 2
DAX is… DynamoDB-specific in-memory cache store 3
[DAX] Glossary of Terms 4 5FSN %FTDSJQUJPO /PEFT "OPEFJTUIFNJOJNVNDPNQPOFOUGPSB%"9DMVTUFSl1SJNBSZOPEFzIBOEMFSFBE
XSJUFSFRVFTUTBOElSFQMJDBOPEFTzPOMZIBOEMFSFBESFRVFTUT $MVTUFST "DMVTUFSJTDPNQPTFEGSPN OPEFT 1BSBNFUFS(SPVQT :PVDBODIBOHF55-CZTFUUJOHDVTUPN1BSBNFUFS(SPVQT
[DAX] Comparison to other cache store 5 %"9 &MBTUJDBDIFNFNDBDIFE JONFNPSZ
.BOBHFE ✅ ✅ 4IBSFEDBDIF ✅ ✅ #BDLFOEEBUBTPVSDF %ZOBNP%#POMZ BOZUIJOH .Z42- %JTL 31$ FUD .FUSJDT ✅ ✅ 55- ⚠ HMPCBM55- ✅ ⚠ IBSEXPSLSFRVJSFE 1FSGPSNBODF ЖdNT dNT ЖdЖ
[DAX] Single-leader Replication 6 +3 nodes for different Multi-A/Z for
production Background replication (eventually consistent model) Single “primary node” handles all write requests
Subnet C Subnet B DAX Cluster Subnet A [DAX] Single-leader
Replication - Write 7 Primary Replica Replica
DAX Cluster [DAX] Single-leader Replication - Write 8 Primary Replica
Replica Application DynamoDB Table DynamoDB Table Write Read
DAX Cluster [DAX] Single-leader Replication - Replicate 9 Primary Replica
Replica Application DynamoDB Table DynamoDB Table Write Read
DAX Cluster [DAX] Single-leader Replication - Read 10 Primary Replica
Replica Application DynamoDB Table DynamoDB Table Write Read
[DAX] Cache Algorithm 11 Least Recently Used (LRU) cache Negative
cache also implemented Eviction happens when items are taken & cache is full Global Time-To-Live (TTL)
[DAX] Item Cache / Query Cache 12 Item Cache Query
Cache Operation GetItem / BatchGetItem Query / Scan Metrics ItemCacheHits/ItemCacheMisses QueryCacheHits/QueryCacheMisses ScanCacheHits/ScanCacheMisses
[DAX] Write Strategy - Write-Through 13 #write #read Application DAX
DynamoDB Application DAX DynamoDB
[DAX] Write Strategy - Write-Around 14 #write #read Application DynamoDB
Application DAX DynamoDB
[DAX] Write Strategy 15 8SJUF5ISPVHI 8SJUF"SPVOE 1SPT 4ZODISPOJ[FEJUFNTCFUXFFO%"9 BOE%ZOBNP%# 8SJUFDBOTDBMF
FHCVMLVQEBUF $POT ☹8SJUFPQFSBUJPOIBTPWFSIFBE ☹*UFNTDBOCFJODPOTJTUFOU JGPUIFS BQQXSJUFUP%ZOBNP%#EJSFDUMZ ☹&WFOUVBMMZ$POTJTUFOU JUFNTJO%"9 OPEFTDBOCFPVUEBUFE
[DAX] Within VPC + Multi-A/Z 16
[DAX] Limitation 17 Maximum nodes is 10 (1 primary node
+ ~9 replica nodes) Maximum nodes is 50 per Region. Maximum Parameter Groups is 20 per Region Maximum DAX Subnet Groups is 50 per Region. Maximum subnets per groups is 20.
Monitoring 18
[Monitoring] CloudWatch Metrics 19 NFUSJDT EFTDSJQUJPO $166UJMJ[BUJPO PG$16VUJMJ[BUJPOUTNBMMVTFW$16 ⚠:PVOFFEUPTDBMFVQJGUIJTNFUSJDTJTTBUVSBUFE *UFN$BDIF)JUT
*UFN$BDIF.JTTFT $BMDVMBUF$BDIF)JU3BUJP GSPNUIFTFNFUSJDT ⚠*UFN$BDIF2VFSZ$BDIF
[Monitoring] CloudWatch Metrics 20 NFUSJDT EFTDSJQUJPO 5ISPUUMJOH3FRVFTU$PVOU PGSFRVFTUTUISPUUMFECZUIFOPEFPSDMVTUFS ⚠5ISPUUMFEBU%"95ISPUUMFEBU%ZOBNP%# 'BJMFE3FRVFTU$PVOU
PGSFRVFTUTUIBUSFTVMUFEJOBOFSSPSSFQPSUFE ⚠&SSPS3FR$PVOU5ISPUUMFE 'BJMFE
[Monitoring] CloudWatch Metrics 21 NFUSJDT EFTDSJQUJPO &WJDUFE4J[F ⚠*G$BDIF)JU3BUJP&WJDUFE4J[FJTHSPXJOH UIF XPSLJOHTFUNJHIUJODSFBTF4IPVMEDPOTJEFSTDBMFVQ
$MJFOU$POOFDUJPOT PGTJNVMUBOFPVTDPOOFDUJPOTGSPNDMJFOUT ⚠$MJFOU$PO$PVOU㲈PG3VOOJOH5BTLT
[Monitoring] Grafana 22
[Monitoring] SLI/SLO 23
Alerting 24
[Alerting] CW Alarm - Infrastructure 25 CW Alarm SNS Topic
Lambda Slack
[Alerting] CW Alarm - CPUUtilization 26
[Alerting] CW Alarm - Cache Hit Ratio 27 ItemCacheHitRatio =
ItemCacheHits / ( ItemCacheHits + ItemCacheMisses )
[Alerting] CW Alarm - Cache Hit Ratio 28
[Alerting] DAX Events - Infrastructure 29 DAX Event SNS Topic
Lambda Slack
[Alerting] DAX Events - Infrastructure 30 failure/success in adding a
node changes to the security groups