Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yoichi Toyota
PDF, PPTX
721 views
はじめてのDynamoDBスキーマ設計
DynamoDBのスキーマ設計で気をつけるべきことについてまとめてみました
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PDF
DynamoDB設計のちょっとした技
by
Yoichi Toyota
PDF
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
PDF
DBスキーマもバージョン管理したい!
by
kwatch
PDF
CircleCI vs. CodePipeline
by
HonMarkHunt
DynamoDB設計のちょっとした技
by
Yoichi Toyota
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
DBスキーマもバージョン管理したい!
by
kwatch
CircleCI vs. CodePipeline
by
HonMarkHunt
What's hot
PDF
20190320 AWS Black Belt Online Seminar Amazon EBS
by
Amazon Web Services Japan
PDF
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
by
Amazon Web Services Japan
PDF
20200526 AWS Black Belt Online Seminar AWS X-Ray
by
Amazon Web Services Japan
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
20210119 AWS Black Belt Online Seminar AWS CloudTrail
by
Amazon Web Services Japan
PDF
AWS X-Rayによるアプリケーションの分析とデバッグ
by
Amazon Web Services Japan
PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
by
Amazon Web Services Japan
PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
PDF
AWS Black Belt Online Seminar 2016 AWS CloudFormation
by
Amazon Web Services Japan
PDF
IaC事始め Infrastructure as Code やってみる?
by
大使 梶原
PDF
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
PDF
20200212 AWS Black Belt Online Seminar AWS Systems Manager
by
Amazon Web Services Japan
PDF
Amazon Simple Workflow Service (SWF)
by
Amazon Web Services Japan
PDF
20190911 AWS Black Belt Online Seminar AWS Batch
by
Amazon Web Services Japan
PDF
20200804 AWS Black Belt Online Seminar Amazon CodeGuru
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
ドメイン駆動設計の正しい歩き方
by
増田 亨
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
20190320 AWS Black Belt Online Seminar Amazon EBS
by
Amazon Web Services Japan
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
by
Amazon Web Services Japan
20200526 AWS Black Belt Online Seminar AWS X-Ray
by
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
20210119 AWS Black Belt Online Seminar AWS CloudTrail
by
Amazon Web Services Japan
AWS X-Rayによるアプリケーションの分析とデバッグ
by
Amazon Web Services Japan
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
by
Amazon Web Services Japan
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
by
Amazon Web Services Japan
IaC事始め Infrastructure as Code やってみる?
by
大使 梶原
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
20200212 AWS Black Belt Online Seminar AWS Systems Manager
by
Amazon Web Services Japan
Amazon Simple Workflow Service (SWF)
by
Amazon Web Services Japan
20190911 AWS Black Belt Online Seminar AWS Batch
by
Amazon Web Services Japan
20200804 AWS Black Belt Online Seminar Amazon CodeGuru
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
ドメイン駆動設計の正しい歩き方
by
増田 亨
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
Similar to はじめてのDynamoDBスキーマ設計
PDF
[AWSマイスターシリーズ] Amazon DynamoDB
by
Amazon Web Services Japan
PDF
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
by
Yuko Mori
PDF
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
by
Amazon Web Services Japan
PDF
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
by
崇之 清水
PDF
DynamoDBの初心者に伝えたい初めて触るときの勘所
by
Ryo Sasaki
PDF
20120409 aws meister-reloaded-dynamo-db
by
Amazon Web Services Japan
PDF
Ruby with AWS DynamoDB
by
Yuto Ogi
PDF
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
by
Amazon Web Services Japan
PDF
Amazon DynamoDB 初心者が理解した事
by
Hirokazu Tokuno
PDF
Amazon dynamo db、cloudant、blockchainの紹介 20160706
by
Tsuyoshi Hirayama
PDF
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
by
Amazon Web Services Japan
PDF
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
by
Amazon Web Services Japan
PDF
Lunch & Learn, AWS NoSQL Services
by
Insight Technology, Inc.
PPTX
Lv1から始めるWebサービスのインフラ構築
by
伊藤 祐策
PDF
現場で使えるDynamoDBと冪等デザインパターン
by
cmaraiyusuke
PDF
DynamoDBを利用したKPI保存システム
by
gree_tech
PPTX
DynamoDBとはとは
by
Genki Ishibashi
PDF
DynamoDBを導入した話
by
dcubeio
PDF
20120508 aws meister-rds-public
by
Amazon Web Services Japan
PDF
DevOps with Database on AWS
by
Amazon Web Services Japan
[AWSマイスターシリーズ] Amazon DynamoDB
by
Amazon Web Services Japan
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
by
Yuko Mori
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
by
Amazon Web Services Japan
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
by
崇之 清水
DynamoDBの初心者に伝えたい初めて触るときの勘所
by
Ryo Sasaki
20120409 aws meister-reloaded-dynamo-db
by
Amazon Web Services Japan
Ruby with AWS DynamoDB
by
Yuto Ogi
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
by
Amazon Web Services Japan
Amazon DynamoDB 初心者が理解した事
by
Hirokazu Tokuno
Amazon dynamo db、cloudant、blockchainの紹介 20160706
by
Tsuyoshi Hirayama
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
by
Amazon Web Services Japan
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
by
Amazon Web Services Japan
Lunch & Learn, AWS NoSQL Services
by
Insight Technology, Inc.
Lv1から始めるWebサービスのインフラ構築
by
伊藤 祐策
現場で使えるDynamoDBと冪等デザインパターン
by
cmaraiyusuke
DynamoDBを利用したKPI保存システム
by
gree_tech
DynamoDBとはとは
by
Genki Ishibashi
DynamoDBを導入した話
by
dcubeio
20120508 aws meister-rds-public
by
Amazon Web Services Japan
DevOps with Database on AWS
by
Amazon Web Services Japan
More from Yoichi Toyota
PDF
超フランクにスクラムの大事なことの話をする
by
Yoichi Toyota
PDF
ジャワカレーをおいしく作る最後の一押し
by
Yoichi Toyota
PDF
ライブラリを作る思考回路
by
Yoichi Toyota
PDF
オブジェクト指向についてあまり知られていないこと
by
Yoichi Toyota
PDF
Ruby is comming ractor編
by
Yoichi Toyota
PDF
array.map(&:key)ってなんやねん
by
Yoichi Toyota
PDF
はじめてのPull Request
by
Yoichi Toyota
PDF
Railsの開発環境作るぞ
by
Yoichi Toyota
PDF
jqで極めるシェル芸の話
by
Yoichi Toyota
PDF
足し算をつくろう
by
Yoichi Toyota
PDF
React Hooksでカスタムフックをつくろう
by
Yoichi Toyota
PPTX
ActionCableのクライアントはRails外から利用できるのか
by
Yoichi Toyota
PPTX
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
PDF
SPA時代のOGPとの戦い方
by
Yoichi Toyota
PDF
AWS WAFでらくらくファイアーウォール生活
by
Yoichi Toyota
PDF
Docker in production
by
Yoichi Toyota
PDF
How to fight against “full scratch disease”
by
Yoichi Toyota
PDF
Amazon lexを触ってみた
by
Yoichi Toyota
PDF
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
by
Yoichi Toyota
PDF
Is the order code deploy?
by
Yoichi Toyota
超フランクにスクラムの大事なことの話をする
by
Yoichi Toyota
ジャワカレーをおいしく作る最後の一押し
by
Yoichi Toyota
ライブラリを作る思考回路
by
Yoichi Toyota
オブジェクト指向についてあまり知られていないこと
by
Yoichi Toyota
Ruby is comming ractor編
by
Yoichi Toyota
array.map(&:key)ってなんやねん
by
Yoichi Toyota
はじめてのPull Request
by
Yoichi Toyota
Railsの開発環境作るぞ
by
Yoichi Toyota
jqで極めるシェル芸の話
by
Yoichi Toyota
足し算をつくろう
by
Yoichi Toyota
React Hooksでカスタムフックをつくろう
by
Yoichi Toyota
ActionCableのクライアントはRails外から利用できるのか
by
Yoichi Toyota
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
SPA時代のOGPとの戦い方
by
Yoichi Toyota
AWS WAFでらくらくファイアーウォール生活
by
Yoichi Toyota
Docker in production
by
Yoichi Toyota
How to fight against “full scratch disease”
by
Yoichi Toyota
Amazon lexを触ってみた
by
Yoichi Toyota
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
by
Yoichi Toyota
Is the order code deploy?
by
Yoichi Toyota
はじめてのDynamoDBスキーマ設計
1.
はじめてのDynamoDB スキーマ設計 株式会社エクストーン 豊田陽一
2.
今日のお話 ▰ DynamoDBのスキーマ設計の話 ▰ AppSyncから自動生成されたDynamoDBのス キーマがなんか使いづらい… ▰
AWSが想定するDynamoDBのスキーマ設計と は何 ▰ https:/ /docs.aws.amazon.com/ja_jp/ama zondynamodb/latest/developerguide/best -practices.html
3.
設計時の考え方の違い ▰ 一般的なRDBMSの場合 ▰ データモデリング ▰
アクセスはSQLによって柔軟に ▰ 「何があるか」が大事 ▰ NoSQLの場合 ▰ アクセスパターン ▰ インデックス設計最重要 ▰ 「どう使われるか」が大事
4.
アクセスパターンが大事な理由 ▰ DBの特徴の差 ▰ DynamoDBの特徴 ▰
特定の問い合わせに対するレスポンスが早い ▰ それ以外はとても遅い、あるいは出来ない ▰ RDBMSの特徴 ▰ あらゆる問い合わせを柔軟に実行可能 ▰ どの問い合わせもそこそこ遅い ▰ RDBMSの「そこそこ遅い」に耐えられない場合 NoSQLを選択する
5.
アクセスパターンが大事な理由 ▰ 分散DBの特徴を理解する ▰ キーからデータの取得は高速 ▰
少ないデータから検索した方が早い ▰ 条件に応じて複数件のデータを返す場合、それ らのデータは1箇所にあると早い ▰ クエリが分散した方が早い
6.
パーティショニング ▰ データを複数のパーティションに分割し て保持する ▰ パーティションキーによって分割 ▰
同じパーティションキーを持つデータのアクセス が集中しないように設計する
7.
パーティションキーの設計 ▰ パーティションキーの均一性 ▰ パーティションにデータが偏らないように設計す る ▰
パーティションキーが同じものは必ず同じパー ティションに保持される ▰ ユーザーID (均一性○) ▰ データのステータス情報(均一性 ×) ▰ 日付情報(均一性△)
8.
ソートキーの設計 ▰ パーティション内で物理的な配置順を 指定するためのキー ▰ ソートキーを指定して問い合わせることで、デー タのフィルタリングが可能 ▰
パーティションキーとセットでユニークキーにな るように設計する
9.
ここまでのまとめ ▰ キーについて ▰ パーティションキー ▰
パーティションを分けるためのキー。アクセスが 同一パーティションに集中しないように注意 ▰ ソートキー ▰ パーティション内での並び順を決めるための キー。検索に使える ▰ プライマリキー ▰ パーティションキー+ソートキーの複合
10.
セカンダリインデックス ▰ 追加のインデックス ▰ グローバルセカンダリインデックス ▰
既存のテーブルに新しいパーティションキーと ソートキーを追加する ▰ ローカルセカンダリインデックス ▰ 既存のパーティションを利用し、ソートキーを追加 する ▰ セカンダリインデックスの数が増えるとコストが 増えるので、極力最小限に
11.
GSIオーバーロード ▰ 1つのグローバルセカンダリインデック スを複数の検索用途に利用 ▰ RDBMSのように、カラム毎にインデックスを作 らないようにする
12.
テーブルの設計例 ▰ RDBMSの場合 ▰ 本の情報を持つテーブル ▰
本用のテーブルを作成し、1エンティティ毎に1レ コードで管理する book_id title author published_at 1 ゆるキャン△ 12巻 あfろ 2021/4/12 2 チェンソーマン11 藤本タツキ 2021/3/4
13.
テーブルの設計例 (cont.) ▰ DynamoDBの場合 ▰
本の情報を持つテーブル ▰ 各属性毎にレコードを持つ PK,GSI1-SK SK GSI1-PK Id DataType DataValue Book_1 BookTitle ゆるキャン△ 12巻 Book_1 BookAuthor あfろ Book_1 BookPublishedAt 2021/4/12 Book_2 BookTitle チェンソーマン11 Book_2 BookAuthor 藤本タツキ Book_2 BookPublishedAt 2021/3/4
14.
検索 ▰ キーによる検索 ▰ パーティションキー ▰
完全一致のみ ▰ ソートキー ▰ オプション ▰ 範囲による検索 ▰ 文字列の前方一致による検索
15.
例: 日付の範囲による検索 ▰ RDBMSの場合 ▰
日付の条件を組み込んだクエリを発行する ▰ 検索時に考慮すればいいので、どのように検索さ れるかを設計時に考えなくてもいい ▰ DynamoDBの場合 ▰ 日付で検索できるようにインデックスを正しく定 義する必要がある
16.
例: 日付の範囲による検索 (cont.) ▰
日付をソートキーとして保持 ▰ 範囲検索用のGSIを定義する必要がある PK,GSI1-SK SK, GSI2-PK GSI1-PK GSI2-SK Id DataType DataValue RangeValue IdAttribute Book_1 BookTitle ゆるキャン△ 12巻 Book_1 BookAuthor あfろ Book_1 BookPublishedAt 2021/4/12 1618185600 Book_1 Book_2 BookTitle チェンソーマン11 Book_2 BookAuthor 藤本タツキ Book_2 BookPublishedAt 2021/3/4 1614816000 Book_2
17.
例: 日付の範囲による検索 (cont.) ▰
日付ソート用のインデックス ▰ データが増えるとパーティションサイズが大きく なる GSI2-PK GSI2-SK Attributes DataType RangeValue IdAttribute BookPublishedAt 1618185600 Book_1 BookPublishedAt 1614816000 Book_2
18.
例: 日付の範囲による検索 (cont.) ▰
ex) 出版日から書籍を取得 ▰ GSI2から ▰ QUERY(PK: ’BookPublishedAt’, SK < :date) ▰ Primary Indexから ▰ QUERY(PK: :book_id) ▰ GSI2のQUERYの結果から取得
19.
例: 日付の範囲による検索 (cont.) ▰
範囲検索が必要な項目に関しては同じ インデックスを利用可能 ▰ ex) 日別の本の売り上げ数の管理を追加 GSI2-PK GSI2-SK Attributes DataType RangeValue IdAttribute BookPublishedAt 1618185600 Book_1 BookPublishedAt 1614816000 Book_2 BookSales_Daily_20210416 36 Book_1 BookSales_Daily_20210416 62 Book_2
20.
まとめ ▰ DynamoDBのスキーマ設計のお話 ▰ パーティションキーとソートキー ▰
ユースケースから設計する ▰ モデルから設計するRDBMSとの違い ▰ インデックスの共有 ▰ 1エンティティのデータを複数レコードで持つ ▰ 同じ使われ方をされる項目は同じカラムでまとめ ることで、GSIの多重化を行う
Download