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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Pierre GOUDJO
December 30, 2021
Technology
0
94
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
61
Always available workspaces: Dotfiles, Github and other shenanigans
pierregoudjo
0
51
Amazon Virtual Private Cloud
pierregoudjo
0
75
Service Discovery: Fundamentals
pierregoudjo
0
81
Relational Databases on AWS: Amazon RDS and Aurora
pierregoudjo
0
98
Property-based testing: The lazy programmer's guide to writing thousands of tests
pierregoudjo
0
100
Object storage: An exploration of AWS S3
pierregoudjo
0
66
Load Balancing: A strategy for scalable internet applications
pierregoudjo
0
96
Boring Technologies
pierregoudjo
0
53
Other Decks in Technology
See All in Technology
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
270
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
430
GCASアップデート(202510-202601)
techniczna
0
250
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
140
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
140
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
120
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
550
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
Context Engineeringの取り組み
nutslove
0
280
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
760
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
590
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
870
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
GitHub's CSS Performance
jonrohan
1032
470k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Balancing Empowerment & Direction
lara
5
880
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
77
Statistics for Hackers
jakevdp
799
230k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Technical Leadership for Architectural Decision Making
baasie
1
240
Marketing to machines
jonoalderson
1
4.6k
Designing for humans not robots
tammielis
254
26k
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