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
Search
Pierre GOUDJO
December 30, 2021
Technology
0
90
DynamoDB
Explaining the architecture of AWS DynamoDB
Pierre GOUDJO
December 30, 2021
Tweet
Share
More Decks by Pierre GOUDJO
See All by Pierre GOUDJO
Simplicity matters
pierregoudjo
0
60
Always available workspaces: Dotfiles, Github and other shenanigans
pierregoudjo
0
49
Amazon Virtual Private Cloud
pierregoudjo
0
72
Service Discovery: Fundamentals
pierregoudjo
0
79
Relational Databases on AWS: Amazon RDS and Aurora
pierregoudjo
0
96
Property-based testing: The lazy programmer's guide to writing thousands of tests
pierregoudjo
0
98
Object storage: An exploration of AWS S3
pierregoudjo
0
62
Load Balancing: A strategy for scalable internet applications
pierregoudjo
0
90
Boring Technologies
pierregoudjo
0
51
Other Decks in Technology
See All in Technology
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
190
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
1
110
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
4
800
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
170
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
470
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
450
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
120
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
300
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
180
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
180
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
320
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
RailsConf 2023
tenderlove
30
1.2k
Visualization
eitanlees
149
16k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
A better future with KSS
kneath
239
18k
Six Lessons from altMBA
skipperchong
28
4k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Designing Experiences People Love
moore
142
24k
Transcript
DynamoDB Pierre Goudjo Exploration of a NoSQL database
What is DynamoDB?
Amazon DynamoDB Developer Documentation Amazon DynamoDB is a fully managed
NoSQL database service that provides fast and predictable performance with seamless scalability
None
Let’s dive in a little bit
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
None
There is no server to manage on DynamoDB
NOT REALLY
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
A NoSQL database is a datastore that doesn’t follow the
relational model introduced by Edgar F. Codd in 1970
NoRel would have been a more appropriate name
So what’s the relational model?
None
TABLE
TABLE Row
TABLE Row Column
None
None
Relational Databases also offer ACID guarantees
NoSQL defines what the database is not
NoSQL comes in multiple flavours
Key-Value databases
Document-oriented databases
Wide column databases
Graph databases
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Amazon DynamoDB is a fully managed wide- column database service
that provides fast and predictable performance with seamless scalability
DynamoDB is sometimes referred as a document database
None
None
None
What problem DymamoDB is trying to solve?
2004
Amazon is experiencing massive outages because their Oracle database could
not keep up with the load on the website
People couldn't fill up their shopping cart
None
They notice however that most data access where done via
primary key
None
Let’s write a database
None
They solved their write contention problem by eschewing the traditional
relational model
None
None
Let’s see how these ideas translate in DynamoDB components and
architecture
None
None
None
None
None
None
None
10GB
10GB
O(1) 10GB
What to do if I need access via customerID?
What to do if I need access via customerID? I
would need to “switch” primary key.
What to do if I need access via customerID? I
would need to “switch” primary key. Indexes come to the rescue
None
What to do if I need customer orders sorted by
TotalPrice?
What to do if I need customer orders sorted by
TotalPrice? I would need to “switch” sort key
What to do if I need customer orders sorted by
TotalPrice? I would need to “switch” sort key Local indexes come in handy
None
None
None
None
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Amazon DynamoDB is a fully managed NoSQL database service that
provides fast and predictable performance with seamless scalability
Recap
Single-item actions • PutItem • GetItem • UpdateItem • DeleteItem
Actions
Multi-item actions • BatchWriteAPI • BatchReadAPI • Query • Scan
Actions
Transactions • TransactGetItems • TransactWriteItems Actions
Extras
Amazon DynamoDB Accelerator (DAX)
DynamoDB Global Tables
DynamoDB Streams Use cases ✴Data aggregation ✴Replication ✴Archiving/Auditing ✴Reporting ✴Noti
fi cations/Messaging ✴Search
And a lot more • Incremental backup/Restore • Point-in-time recovery
• PartiQL • Encryption at rest • Transactions • Item TTL
None