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
AWS DynamoDB Accelerator (DAX) 101
Search
Ken Wagatsuma
February 14, 2020
Programming
7.3k
2
Share
AWS DynamoDB Accelerator (DAX) 101
Introduction to AWS DynamoDB Accelerator (DAX)
Ken Wagatsuma
February 14, 2020
More Decks by Ken Wagatsuma
See All by Ken Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
240
Kafka on Kubernetes with Strimzi
kenju
0
200
Moden browser introduction
kenju
1
460
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
130
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
9.3k
Introduction to TypeScript
kenju
0
780
Introduction to Programmatic Ad
kenju
0
290
社内管理システムのための技術選定
kenju
0
790
Other Decks in Programming
See All in Programming
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
140
AIエージェントで業務改善してみた
taku271
0
520
実用!Hono RPC2026
yodaka
2
220
10 Tips of AWS ~Gen AI on AWS~
licux
5
400
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
280
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
270
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
KagglerがMixSeekを触ってみた
morim
0
390
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
140
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
190
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
420
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
99
Technical Leadership for Architectural Decision Making
baasie
3
330
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
140
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Building the Perfect Custom Keyboard
takai
2
730
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
110
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
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