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
88
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
59
Always available workspaces: Dotfiles, Github and other shenanigans
pierregoudjo
0
48
Amazon Virtual Private Cloud
pierregoudjo
0
72
Service Discovery: Fundamentals
pierregoudjo
0
78
Relational Databases on AWS: Amazon RDS and Aurora
pierregoudjo
0
95
Property-based testing: The lazy programmer's guide to writing thousands of tests
pierregoudjo
0
97
Object storage: An exploration of AWS S3
pierregoudjo
0
60
Load Balancing: A strategy for scalable internet applications
pierregoudjo
0
88
Boring Technologies
pierregoudjo
0
50
Other Decks in Technology
See All in Technology
人工衛星のファームウェアをRustで書く理由
koba789
14
7.6k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.9k
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
220
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
100
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
230
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
240
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
640
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Context Engineering - Making Every Token Count
addyosmani
1
37
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
The Language of Interfaces
destraynor
161
25k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
For a Future-Friendly Web
brad_frost
180
9.9k
Bash Introduction
62gerente
615
210k
Agile that works and the tools we love
rasmusluckow
330
21k
What's in a price? How to price your products and services
michaelherold
246
12k
GitHub's CSS Performance
jonrohan
1032
460k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
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