Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DynamoDB の好きなところ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuki Toyoda
September 24, 2020
Technology
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DynamoDB の好きなところ
社内の「実践AWSゼミ」にて発表したスライドです
Yuki Toyoda
September 24, 2020
More Decks by Yuki Toyoda
See All by Yuki Toyoda
パフォーマンスクリティカルな領域へのRust活用戦略
helloyuk13
4
940
Context Oriented Programming of Kotlin
helloyuk13
3
5.5k
カジュアルコントリビュータと学ぶRustコンパイラ
helloyuk13
3
2.1k
2025 年の Rust はどこに向かっているのか?
helloyuk13
6
1.5k
RustでWeb開発コソコソ噂話
helloyuk13
15
20k
SeaQL Projectsについて
helloyuk13
1
660
年末ですし、今年のRustの進捗の話をしましょう
helloyuk13
2
3.2k
SwiftでAWS Lambda
helloyuk13
0
280
Rustハンズオン@エウレカ社
helloyuk13
22
12k
Other Decks in Technology
See All in Technology
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.3k
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
130
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
100
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
250
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
370
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
400
Essential architectural thinking (revised edition)
ufried
0
110
メルペイ 会計システム概要と歴史
mewuto
0
200
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
A Tale of Four Properties
chriscoyier
163
24k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
Unsuck your backbone
ammeep
672
58k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
700
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Everyday Curiosity
cassininazir
0
350
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Transcript
DynamoDB の 好きなところ AWS ゼミ 豊田
もくじ 1. DynamoDB とは 2. 整合性モデル 3. DynamoDB の前身 Dynamo
4. 個人的に思ういいところ
DynamoDB とは • マネージドの NoSQL。 • ドキュメント指向。 • 読み込み書き込みが速い。 ◦
読み込みは RTB サーバーでは満足できる速度ではないので、キャッシュの工夫や DynamoDB Acceralator (DAX) の助けが必要ではある ◦ プロダクトでは数億件のデータを入れているけれど、書き込みがよくスケールするのが本当に嬉し い✨ • AZ が関係ない。 • テーブル単位でキャパシティユニットによるスループットの管理ができる。
整合性モデル • 一番知っておいた方がいいことかも。 • 書き込み ◦ 2つ以上の AZ で書き込み完了確認が取れた時点で、書き込みが承認される。
• 読み込み ◦ 弱い整合性と強い整合性の2つを選べる。 ◦ 2つ以上の AZ で書き込み完了した時点から読み取りが可能になる(弱い整合性なら)。 ◦ 結果整合性を担保しているので、最新の書き込み状況がすぐには反映されないこともある。 ◦ 強い整合性の場合は一貫性を担保できるが、お金を倍消費する。 • 要するに一貫性が必要な場合には、使用するのは難しい。 ◦ その際は RDS を利用するなどするほうがよいかも。
DynamoDB の前身 Dynamo • 2007 年に「Dynamo: Amazon’s Highly Available Key-value
Store」という論文で発 表された。 • Consistent Hashing を利用したパーティショニングを採用しており、マスターがいな い脱中心化アーキテクチャになっていた。 • 一貫性(consistency)を設定可能で、可用性、レイテンシ、一貫性のバランスを調整 可能にしていた。 • 書き込みの際のコンフリクトを許容。Vector Clock という機構でクライアントが情報 を読み取ってコンフリクトを解消できるようにしていた。 • シンプルなキーバリューストア(DynamoDB はドキュメント指向) • これにインスパイアされて Apache Cassandra ができた。 • DynamoDB とはほぼ別物
個人的に思ういいところ • Lambda と相性がいいので、単純に Lambda の永続化機構として使いやすい。 • 基本的には保存容量を気にしなくていいので、無限に容量が膨らむ可能性のある データを入れておく際に安心して入れておける。 •
Batch Write で億単位のデータを高速に書き込みできる vs Redis。 • キャパシティがテーブル単位なので、設定を間違えても死ぬのはそのテーブルだ け。 • Dynamo Streams と組み合わせで、CQRS + ES アーキテクチャをこれひとつで実現 できる。