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
85
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
37
Always available workspaces: Dotfiles, Github and other shenanigans
pierregoudjo
0
39
Amazon Virtual Private Cloud
pierregoudjo
0
65
Service Discovery: Fundamentals
pierregoudjo
0
72
Relational Databases on AWS: Amazon RDS and Aurora
pierregoudjo
0
72
Property-based testing: The lazy programmer's guide to writing thousands of tests
pierregoudjo
0
88
Object storage: An exploration of AWS S3
pierregoudjo
0
39
Load Balancing: A strategy for scalable internet applications
pierregoudjo
0
72
Boring Technologies
pierregoudjo
0
42
Other Decks in Technology
See All in Technology
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.9k
強みを伸ばすキャリアデザイン
yug1224
0
200
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
150
入社後初めてのタスクでk8sアップグレードした話.pdf
kkato1
1
380
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
540
現代CSSフレームワークの内部実装とその仕組み
poteboy
4
1.6k
ユーザーストーリーのレビューを自動化したみたの
bun913
1
330
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
3.2k
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
インシデントレスポンスのライフサイクルを廻すポイントってなに / Pinpoints of Incidentresponse Lifecycle for Operation
sakaitakeshi
1
300
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Automating Front-end Workflow
addyosmani
1355
200k
What's in a price? How to price your products and services
michaelherold
237
11k
Making Projects Easy
brettharned
108
5.5k
Design by the Numbers
sachag
274
18k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
Writing Fast Ruby
sferik
620
60k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
A Modern Web Designer's Workflow
chriscoyier
688
190k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
76
41k
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