狠狠撸

狠狠撸Share a Scribd company logo
DynamoDB
はじめの一歩
sh-ogawa
はじめに
DynamoDBの検証に伴い、ドキュメントを読み込んだので、知見を共有。
DynamoDBを使用する際に、
地雷を踏まない(であろう)アーキテクチャ設計が行えるようになることを目
的とする。
(; ?`д??)
検証しただけで運用はしてないので、
ハードルは少し下げさせていただく!!
质问は都度していただいてOKです
答えられるかは判らないけど
コンテンツ
● DynamoDBとは
● 重要な用语
● 仕组み
● 課金体系
● メリット
● デメリット
● 事故らないためのアーキテクチャ設計
DynamoDBとは
● AWS上で利用可能なフルマネージドなNoSQLデータベースサービス
● スキーマレス
● 3つの施設間でデータが同期的にレプリケート
● SSDに保存
● データの操作はHTTP(S)リクエストで行う
重要な用语
重要な用语
キャパシティーユニット
重要な用语
これだけ覚えれば大丈夫
重要な用语
● キャパシティーユニット(CU)
1秒間に消費できるリソースを定義する単位。
読込みと書込みのそれぞれに設定する。
重要な用语
● キャパシティーユニット(CU)
1秒間に消費できるリソースを定義する単位。
読込みと書込みのそれぞれに設定する。
「例えば、読込みキャパシティーユニットに「10」を設定した場合、
1秒間に利用できる読込みリソースは「10」である」と云える(超重要)
※消費リソースの算出方法は後ほど???
仕组み
仕组み
保存するストレージは
物理的に分かれている
仕组み
どのストレージに書か
れるかは、PKの値で
決まる
仕组み
PKとは???
プライマリキーのこと。
以下のどちらかで作成可能
?HASH
?HASH + Sort Key
なので、RDBMSで云うところの複合PKは、2個までしか選べない
3個以上選びたい場合は、ロジックでキーを作ってカバー!!
課金体系
無料利用枠を超えると課金が発生する
無料利用枠
● 2億リクエスト/月
※25の読込書込キャパシティユニットで超えない程度
● 25GBのデータストレージ(データ + インデックス分)
● DynamoDBストリームからの250万件読込み/月
課金体系
無料利用枠を超えると課金が発生する
無料利用枠
● 2億リクエスト/月
※25の読込書込キャパシティユニットで超えない程度
● 25GBのデータストレージ(データ + インデックス分)
● DynamoDBストリームからの250万件読込み/月
何言ってるのか判りづらいけど、
ストレージ以外は毎月無料枠があるよ!
ってことです。
課金体系
無料利用枠を超えると課金が発生する
無料利用枠
● 2億リクエスト/月
※25の読込書込キャパシティーユニットで超えない程度
● 25GBのデータストレージ(データ + インデックス分)
● DynamoDBストリームからの250万件読込み/月
課金体系
25の読込書込キャパシティーユニットで超えない程度
課金体系
(; ?`д??)意味不明!!
課金体系
キャパシティーユニットの消費量について教えます
課金体系
● 読込みキャパシティーユニット(RCU)
1つのキャパシティーユニットで、1秒間に最大4KBを
「1回の整合性のある強力な読込み」
or
「2回の結果的に整合性のある読込み」
を行える。
課金体系
意味???判るよね?
課金体系
データ量で表すとこや!
課金体系
● 1キャパシティーユニットで1KBを読み込む
強力な~ ???1消費するので1秒間で1回読める
結果的に~???1消費するので1秒間で2回読める(スループット2倍)
● 1キャパシティーユニットで4KBを読み込む
強力な~ ???1消費するので1秒間で1回読める
結果的に~???1消費するので1秒間で2回読める(スループット2倍)
● 1キャパシティーユニットで5KB読み込む
強力な~ ???2消費するので2秒間で1回読める
結果的に~???2消費するけど1秒間で1回読める(スループット2倍だから)
課金体系
なので、
1秒間で読み込めるようにするには
キャパシティーユニットを増やす
課金体系
こうなる
課金体系
● 1キャパシティーユニットで1KBを読み込む
強力な~ ???1消費するので1秒間で1回読める
結果的に~???1消費するので1秒間で2回読める(スループット2倍)
● 1キャパシティーユニットで4KBを読み込む
強力な~ ???1消費するので1秒間で1回読める
結果的に~???1消費するので1秒間で2回読める(スループット2倍)
● 2キャパシティーユニットで5KB読み込む
強力な~ ???2消費するので1秒間で1回読める
結果的に~???2消費するけど1秒間で2回読める(スループット2倍だから)
課金体系
以下の計算式で考えてあげればOK(先にこっち出せとか言わないで???)
● 強力な~ ???(キャパシティユニットの値)×4KB/秒
● 結果的に~???(キャパシティユニットの値 × 2)×4KB/秒
課金体系
● 書込みキャパシティーユニット(WCU)
1つのキャパシティーユニットで、1秒間に最大1KBを書込める。
課金体系
● 1キャパシティーユニットで1KBを書き込む???1消費(1秒でイケる)
● 1キャパシティーユニットで1.1KBを書き込む???2消費(2秒かかる)
● 2キャパシティーユニットで1.1碍叠読み込む???2消费(1秒でイケる)
課金体系
こっちは1KB未満の端数切り上げ
という簡単な理屈ですね
課金体系
無料利用枠
● 2億リクエスト/月
※25の読込書込キャパシティーユニットで超えない程度
● 25GBのデータストレージ(データ + インデックス分)
● DynamoDBストリームからの250万件読込み/月
有料枠
● 25GB以上のデータストレージに、0.285USD/GBを毎月払う
メリット
● どんなにデータを保存しても、パフォーマンスは安定している
※使い方を誤らなければ
● DSLに則ってJSONを書けばいいだけなので、専門スキルは不要
● 书込み元が多いほど、威力を発挥する
デメリット
● パフォーマンスを出させる場合、基本的に札束で殴るスタイル
(と言っても、そこまで高額なわけではない。
保存しているデータ量だけ注意してあげる)
● NoSQLなので、トランザクションの概念はない
(RDB使ってても、
厳密なトランザクション管理をしないといけない場面はほとんどない)
事故らないためのアーキテクチャ設計
可能な限り
横に並べて殴る
(特に書込み)
事故らないためのアーキテクチャ設計
これだけ
事故らないためのアーキテクチャ設計
外部ライブラリ使ってデータを登録する場合は、
そのライブラリがちゃんとマルチスレッドか、
子プロセスを立ち上げてデータ登録をしていることを確認
しておく。
利用シーン
● ログの集約
特にコンテナ化されているもの、マイクロサービス化したシステム群
● IoT周り
デバイスから直、フォグサーバ経由
● 膨大な履歴データの保持
何かのタイミングでスリムアップはした方が良いと思う
おしまい
Ad

Recommended

ハンズの顿测苍补尘辞顿叠クラウドパターン
ハンズの顿测苍补尘辞顿叠クラウドパターン
Naoyuki Yamazaki
?
20150530 pgunconf-ycsb-jsonb
20150530 pgunconf-ycsb-jsonb
Toshi Harada
?
CDP総選挙 2013
CDP総選挙 2013
Kieko Sakurai
?
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
kishimotosc
?
ReadyNAS OS 6.9.0 新機能紹介
ReadyNAS OS 6.9.0 新機能紹介
NETGEAR Japan
?
厂贰翱においての贬罢惭尝/颁厂厂/箩补惫补厂肠谤颈辫迟
厂贰翱においての贬罢惭尝/颁厂厂/箩补惫补厂肠谤颈辫迟
noda kana
?
今から始めるDocument db
今から始めるDocument db
Kazunori Hamamoto
?
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
?
[Japan Tech summit 2017] CLD 013
[Japan Tech summit 2017] CLD 013
Microsoft Tech Summit 2017
?
进化の読めないシステムの负荷対策
进化の読めないシステムの负荷対策
Shimpei Nagai
?
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
Toshi Harada
?
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
kishimotosc
?
データベースの使い分けを考える
データベースの使い分けを考える
Yosuke Katsuki
?
[Japan Tech summit 2017] DEP 008
[Japan Tech summit 2017] DEP 008
Microsoft Tech Summit 2017
?
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
Oshitari_kochi
?
ComSys WIP
ComSys WIP
Shun Nakamura
?
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
Recruit Technologies
?
データビジュアライゼーション Dc.jsで遊ぼう - 清水
データビジュアライゼーション Dc.jsで遊ぼう - 清水
chome03
?
ゼロから始める叠濒辞产
ゼロから始める叠濒辞产
Kazunori Hamamoto
?
Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能
Chihiro Ito
?
Windows Azure 概要
Windows Azure 概要
fumios
?
狈辞厂蚕尝に関するまとめ
狈辞厂蚕尝に関するまとめ
Gosuke Miyashita
?
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
Hiromasa Oka
?
Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能
Chihiro Ito
?
Google bigquery導入記
Google bigquery導入記
Yugo Shimizu
?
Amazon DynamoDB 初心者が理解した事
Amazon DynamoDB 初心者が理解した事
Hirokazu Tokuno
?
顿测苍补尘辞顿叠とはとは
顿测苍补尘辞顿叠とはとは
Genki Ishibashi
?

More Related Content

What's hot (20)

[Japan Tech summit 2017] CLD 013
[Japan Tech summit 2017] CLD 013
Microsoft Tech Summit 2017
?
进化の読めないシステムの负荷対策
进化の読めないシステムの负荷対策
Shimpei Nagai
?
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
Toshi Harada
?
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
kishimotosc
?
データベースの使い分けを考える
データベースの使い分けを考える
Yosuke Katsuki
?
[Japan Tech summit 2017] DEP 008
[Japan Tech summit 2017] DEP 008
Microsoft Tech Summit 2017
?
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
Oshitari_kochi
?
ComSys WIP
ComSys WIP
Shun Nakamura
?
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
Recruit Technologies
?
データビジュアライゼーション Dc.jsで遊ぼう - 清水
データビジュアライゼーション Dc.jsで遊ぼう - 清水
chome03
?
ゼロから始める叠濒辞产
ゼロから始める叠濒辞产
Kazunori Hamamoto
?
Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能
Chihiro Ito
?
Windows Azure 概要
Windows Azure 概要
fumios
?
狈辞厂蚕尝に関するまとめ
狈辞厂蚕尝に関するまとめ
Gosuke Miyashita
?
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
Hiromasa Oka
?
Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能
Chihiro Ito
?
Google bigquery導入記
Google bigquery導入記
Yugo Shimizu
?
进化の読めないシステムの负荷対策
进化の読めないシステムの负荷対策
Shimpei Nagai
?
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
Toshi Harada
?
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
kishimotosc
?
データベースの使い分けを考える
データベースの使い分けを考える
Yosuke Katsuki
?
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
Oshitari_kochi
?
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
搁顿叠技术者のための狈辞厂蚕尝ガイド 狈辞厂蚕尝の必要性と位置づけ
Recruit Technologies
?
データビジュアライゼーション Dc.jsで遊ぼう - 清水
データビジュアライゼーション Dc.jsで遊ぼう - 清水
chome03
?
ゼロから始める叠濒辞产
ゼロから始める叠濒辞产
Kazunori Hamamoto
?
Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能
Chihiro Ito
?
Windows Azure 概要
Windows Azure 概要
fumios
?
狈辞厂蚕尝に関するまとめ
狈辞厂蚕尝に関するまとめ
Gosuke Miyashita
?
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
クラウド时代のデータストア选択&辩耻辞迟;秘伝の书&辩耻辞迟;
Hiromasa Oka
?
Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能
Chihiro Ito
?
Google bigquery導入記
Google bigquery導入記
Yugo Shimizu
?

Similar to Dynamo db はじめの一歩 (20)

Amazon DynamoDB 初心者が理解した事
Amazon DynamoDB 初心者が理解した事
Hirokazu Tokuno
?
顿测苍补尘辞顿叠とはとは
顿测苍补尘辞顿叠とはとは
Genki Ishibashi
?
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Tsuyoshi Hirayama
?
顿测苍补尘辞顿叠を导入した话
顿测苍补尘辞顿叠を导入した话
dcubeio
?
[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDB
Amazon Web Services Japan
?
DynamoDB MyNA?JPUG合同DB勉強会 in 東京
DynamoDB MyNA?JPUG合同DB勉強会 in 東京
Yuko Mori
?
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
Amazon Web Services Japan
?
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
Amazon Web Services Japan
?
DynamoDB を掌握しろ(JAWSUG京都 @shimy_net )
DynamoDB を掌握しろ(JAWSUG京都 @shimy_net )
崇之 清水
?
础滨やマイクロサービスを活用した顿测苍补尘辞顿叠节约术
础滨やマイクロサービスを活用した顿测苍补尘辞顿叠节约术
gree_tech
?
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
充博 大崎
?
クラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタート
Yukihito Kataoka
?
顿测苍补尘辞顿叠の初心者に伝えたい初めて触るときの勘所
顿测苍补尘辞顿叠の初心者に伝えたい初めて触るときの勘所
Ryo Sasaki
?
顿测苍补尘辞顿叠を利用した碍笔滨保存システム
顿测苍补尘辞顿叠を利用した碍笔滨保存システム
gree_tech
?
础奥厂の狈辞厂蚕尝入门
础奥厂の狈辞厂蚕尝入门
Akihiro Kuwano
?
AWS Black Belt Online Seminar AWS 体験ハンズオン ? Amazon DynamoDB テーブル作成編 ?
AWS Black Belt Online Seminar AWS 体験ハンズオン ? Amazon DynamoDB テーブル作成編 ?
Amazon Web Services Japan
?
顿测苍补尘辞诲产について
顿测苍补尘辞诲产について
Ara Jo
?
顿测苍补尘辞诲产について
顿测苍补尘辞诲产について
Ara Jo
?
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
伊藤 祐策
?
Amazon DynamoDB 初心者が理解した事
Amazon DynamoDB 初心者が理解した事
Hirokazu Tokuno
?
顿测苍补尘辞顿叠とはとは
顿测苍补尘辞顿叠とはとは
Genki Ishibashi
?
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Tsuyoshi Hirayama
?
顿测苍补尘辞顿叠を导入した话
顿测苍补尘辞顿叠を导入した话
dcubeio
?
[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDB
Amazon Web Services Japan
?
DynamoDB MyNA?JPUG合同DB勉強会 in 東京
DynamoDB MyNA?JPUG合同DB勉強会 in 東京
Yuko Mori
?
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
Amazon Web Services Japan
?
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
Amazon Web Services Japan
?
DynamoDB を掌握しろ(JAWSUG京都 @shimy_net )
DynamoDB を掌握しろ(JAWSUG京都 @shimy_net )
崇之 清水
?
础滨やマイクロサービスを活用した顿测苍补尘辞顿叠节约术
础滨やマイクロサービスを活用した顿测苍补尘辞顿叠节约术
gree_tech
?
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
充博 大崎
?
クラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタート
Yukihito Kataoka
?
顿测苍补尘辞顿叠の初心者に伝えたい初めて触るときの勘所
顿测苍补尘辞顿叠の初心者に伝えたい初めて触るときの勘所
Ryo Sasaki
?
顿测苍补尘辞顿叠を利用した碍笔滨保存システム
顿测苍补尘辞顿叠を利用した碍笔滨保存システム
gree_tech
?
础奥厂の狈辞厂蚕尝入门
础奥厂の狈辞厂蚕尝入门
Akihiro Kuwano
?
AWS Black Belt Online Seminar AWS 体験ハンズオン ? Amazon DynamoDB テーブル作成編 ?
AWS Black Belt Online Seminar AWS 体験ハンズオン ? Amazon DynamoDB テーブル作成編 ?
Amazon Web Services Japan
?
顿测苍补尘辞诲产について
顿测苍补尘辞诲产について
Ara Jo
?
顿测苍补尘辞诲产について
顿测苍补尘辞诲产について
Ara Jo
?
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
伊藤 祐策
?
Ad

More from 小川 昌吾 (20)

Effective flutter
Effective flutter
小川 昌吾
?
Flutter first impression
Flutter first impression
小川 昌吾
?
Flutter management statement
Flutter management statement
小川 昌吾
?
Laravel vue-project-upload
Laravel vue-project-upload
小川 昌吾
?
Lara vue
Lara vue
小川 昌吾
?
Atomic design+vue
Atomic design+vue
小川 昌吾
?
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
小川 昌吾
?
Njug docker-20180623
Njug docker-20180623
小川 昌吾
?
アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
?
Njug 20180414
Njug 20180414
小川 昌吾
?
闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った
小川 昌吾
?
チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉
小川 昌吾
?
受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた
小川 昌吾
?
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
小川 昌吾
?
非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理
小川 昌吾
?
スキトラ骋颈迟
スキトラ骋颈迟
小川 昌吾
?
スキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
?
テストコード入门
テストコード入门
小川 昌吾
?
滨辞罢検定
滨辞罢検定
小川 昌吾
?
惭测厂蚕尝入门
惭测厂蚕尝入门
小川 昌吾
?
Flutter first impression
Flutter first impression
小川 昌吾
?
Flutter management statement
Flutter management statement
小川 昌吾
?
Laravel vue-project-upload
Laravel vue-project-upload
小川 昌吾
?
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
小川 昌吾
?
アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
?
闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った
小川 昌吾
?
チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉
小川 昌吾
?
受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた
小川 昌吾
?
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
小川 昌吾
?
非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理
小川 昌吾
?
スキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
?
テストコード入门
テストコード入门
小川 昌吾
?
Ad

Dynamo db はじめの一歩