SlideShare a Scribd company logo
1 of 43
ログイン直後は皆さんのマイクが
オンになっているため、
オフにお願いいします
オン オフ
取り上げて欲しいサービスが
あればチャットに書いてください!
小さい音量で音楽を流しています。聞こえない方は、
一度ログアウトして、再度Audioをオンにして入りなおして下さい。
[Use Mic…]を選んでください。
Who am I ?
亀田 治伸 (Harunobu Kameda)
Facebook : facebook.com/harunobu.kameda/
Github : github.com/harunobukameda/
Sr. Developer Advocate
Amazon Web Service Japan
本勉強会の趣旨
本イベントはアマゾン ウェブ サービス ジャパン主催
ではなく、単純なコミュニティイベントです。
AWSは現在190を超えるサービスを提供
• やりたいことを自由にパーツを組み合わせ実現
• サービス選択は慣れえるまでコツがいる
• AWSのサービスを週次で1個づつ紹介
資料の一般配布をやめ、イベント中にChimeで共有します。
RDBMSとNoSQLの違い
RDBMS NoSQL
ストレージに最適化 計算リソースに最適化
正規化/リレーショナル 非正規化/階層構造
SQLを使用可能
各データベースによって
異なるクエリ方法
トランザクション処理 トランザクション処理は限定的
データの堅牢性/一貫性
データの堅牢性/一貫性
はデータベースによる
スケールアウトの煩雑さ 高いスケーラビリティ
Key Value Store
• 保存したいデータ(value:値)に対し、
対応する一意の標識(key:キー)を設定し、
これらをペアで格納する方式。
• SPOF(単一障害点)の存在しない構成
• データは3箇所のAZに保存されるので信頼性が高い
• ストレージは必要に応じて
自動的にパーティショニングされる
クライアント
分散型 Key Value Store
DynamoDBの結果整合性モデル
• Write
• 少なくとも2つのAZでの書き込み完了が確認とれた時点でAck
• Read
• デフォルト
• 結果整合性のある読み込み
• 最新の書き込み結果が即時読み取り処理に反映されない可能性がある
• Consistent Readオプションを付けたリクエスト
• GetItem、Query、Scanでは強力な整合性のある読み込みオプション
が指定可能
• Readリクエストを受け取る前までのWriteがすべて反映されたレスポン
スを保証
• Capacity Unitを2倍消費する
プロビジョンドスループット
• テーブルごとにReadとWriteそれぞれに対し、必要な分だけのス
ループットキャパシティを割り当てる(=プロビジョンする)こと
ができる
• 例えば下記のようにプロビジョンする
 Read : 1,000
 Write : 100
• 書き込みワークロードが上がってきたら
 Read : 500
 Write : 1,000
• この値はDB運用中にオンラインで変更可能
 ただし、スケールダウンに関しては日に9回までしかできないので注意
読み込み スループット
• テーブルレベルによってプロビジョニング
 Read Capacity Units (RCU)
- 1 秒あたりの読み込み項目数 x 項目のサイズ (4 KB ブロック)
- 結果整合性のある読み込みをする場合はスループットが 2 倍
例1)アイテムサイズ:1.2KB(1.2/ 4≒0.3 ⇒ 1 繰り上げ)
読み込み項目数1000回/秒
1000 × 1 = 1000 RCU
例2)アイテムサイズ:4.5KB (4.5 / 4≒1.1 ⇒ 2 繰り上げ)
読み込み項目数1000回/秒
1000 × 2 = 2000 RCU
※結果整合性のある読み込みの場合
1000 × 2 × ½ = 1000 RCU
書き込み スループット
 Write Capacity Units (WCU)
- 1 秒あたりの書き込み項目数 x 項目のサイズ (1 KB ブロック)
- 1KBを下回る場合は繰り上げられて計算
例1)アイテムサイズ:512B(0.512/ 1≒ 0.5 ⇒ 1 繰り上げ)
書き込み項目数 1000項目/秒
1000 × 1 = 1000 WCU
例2)アイテムサイズ:2.5KB (2.5 / 1 = 2.5 ⇒ 3 繰り上げ)
書き込み項目数1000項目/秒
1000 × 3 = 3000 WCU
• 読み込みと書き込みのキャパシティユニットは個別に設定
Auto Scaling
Auto Scaling 有効
Auto Scaling無し
• 今まではどれくらい使っていたかを推測してWCU、
RCUを設定していた作業から解放
• アプリケーションからのリクエスト数に応じて自動
的に容量を拡大
• リクエストが減った時に自動的に容量を縮小してコ
ストを削減
• マネジメントコンソールから可視化された状態で管
理が可能
• フルマネージドでWCU、RCU、GSIに対する設定を管
理
• 設定はターゲット使用率と上限、下限を設定するだけ
• マネジメントコンソール、CLI、SDKでの操作が可能
• 利用は無料
どんな利点が?
Auto Scaling
• 設定について
 上限と下限と目標使用率を設定することで
常にその範囲の中で指定した使用率を維持しようとする。
DynamoDB on-demand
機能
• 事前のキャパシティプランニングを不要に。
• シンプルなAPI操作で設定変更が可能
• Read/Write共に使った分だけが課金
利点
• 過剰なCUの設定や不足によるスロットリングな
どを排除
• トラフィックの増減に合わせワークロードに対応
ストレージの容量制限がない
• 使った分だけの従量課金制のストレージ
• データ容量の増加に応じたディスクやノードの増設作業は一切
不要
テーブル設計
基礎知識
table
items
attributes
Partation
Key
Sort
Key
必須
キーバリュー型のアクセスパター
ン
データ分散に利用される
オプション
1:Nモデルのリレーションシップ
豊富なQueryをサポート
デフォルトの並べ替え順序は昇順
キー検索用
==, <, >, >=, <=
“begins with”
“between”
sorted results
counts
先頭/末尾 N件
ページ単位出力
key/value 型、JSON 型等
アイテム間で不揃いであって
も問題ない
DynamoDBの構成要素
API
SDK
オペレーションはHTTPベースのAPIで提供されている
Database
ClientSideServiceSide
Client application
CreateTable
UpdateTable
DeleteTable
DescribeTable
ListTables
GetItem
PutItem
UpdateItem
DeleteItem
Query
Scan
BatchGetItem
BatchWriteItem
Liststreams
DescribeStream
GetShardIterator
GetRecords
Table API
Stream API
DynamoDB
提供されているAPI
Attributesの型
 スカラー型
- String
- Number
- Binary
- Boolean
- Null
 セット型
- Set of String
- Set of Number
- Set of Binary
{
Day: "Monday",
UnreadEmails: 42,
ItemsOnMyDesk: [
"Coffee Cup",
"Telephone",
{
Pens: { Quantity : 3},
Pencils: { Quantity : 2},
Erasers: { Quantity : 1}
}
]
}
※ Partation Key ,Sort Keyの型は、文字列、
数値、またはバイナリでなければならない
["Black", "Green", "Red"]
[42.2, -19, 7.5, 3.14]
 ドキュメント型
- リスト
- マップ(JSON)
FavoriteThings: ["Cookies", "Coffee", 3.14159]
プライマリキーの持ち方は2種類
• Partation key
• Partation key & Sort key
パーティショニング
• DynamoDBはプロビジョンされたスループッ
トを確保するためにテーブルを複数のパーティ
ションに分散して格納
partition 1 .. N
partitions
1 .. N
table
• Partation Keyをパーティション間でのデータ分散に利用し、格
納ストレージサイズやプロビジョンされたスループットによって
自動的にパーティショニングを実施
A,D B,E C,F
123456789
Parition1Partition2 ParitionN
パーティション内でのスループット
スループットはパーティションに
均等に付与される
• プロビジョンしたスループット
は各パーティションに均等に付与され、
全体で合計値の性能が出るように
設計されている
• アクセスされるキーに偏りが発生すると
思った性能がでないという自体を招。
Partation Keyの設計には注意が必要
プロビジョンドスループット: x
x/N x/N x/N
A,D B,E C,F
123456789
Parition1Partition2 ParitionN
パーティション内でのスループット
スループットはパーティションに
均等に付与される
• プロビジョンしたスループット
は各パーティションに均等に付与され、
全体で合計値の性能が出るように
設計されている
• アクセスされるキーに偏りが発生すると
思った性能がでないという自体を招。
Partation Keyの設計には注意が必要
プロビジョンドスループット: x
x/N x/N x/N
Table
Parition1 Partition2
Table
プロビジョンドスループット: 2x
x/2 x/2
Parition1 Partition2
2x/4 2x/4
Parition3 Partition4
Table
2x/4 2x/4
プロビジョンドスループット: x
キャパシティのプロビジョンを
増やすと、前述の計算式にした
がってパーティション数も増え
ていく
Capacity変更時の動き
プロビジョンドスループット: 2x
Parition1 Partition2
2x/4 2x/4
Parition3 Partition4
Table
2x/4 2x/4
キャパシティを減らすときはパー
ティション数は減らずに、各パー
ティションのキャパシティが減る
ので注意!
プロビジョンドスループット: x
Parition1 Partition2
x/4 x/4
Parition3 Partition4
Table
x/4 x/4
ひとつひとつのパーティションの
キャパシティが低い状態になる。結
果としてキャパシティエラーを起こ
しやすい状態になる。
Capacity変更時の注意事項
00 55 A954 AA FF
Partation Table
• Partation Key は単体でプライマリキーとして利用
• 順序を指定しないハッシュインデックスを構築するためのキー
• テーブルは、性能を確保するために分割(パーティショニング)される場合あり
00 FF
Id = 1
Name = Jim
Partation (1) = 7B
Id = 2
Name = Andy
Dept = Engg
Partation (2) = 48
Id = 3
Name = Kim
Dept = Ops
Partation (3) = CD
Key Space
Partation-Sort Table
• Partation + Sortでプライマリキーとすること可能
• 同一のPartation Keyでの
データの並びを保証するためにSort Keyが使われる
• Partation Keyの数に上限はない
00:0 FF:∞
Partation (2) = 48
Customer# = 2
Order# = 10
Item = Pen
Customer# = 2
Order# = 11
Item = Shoes
Customer# = 1
Order# = 10
Item = Toy
Customer# = 1
Order# = 11
Item = Boots
Partation (1) = 7B
Customer# = 3
Order# = 10
Item = Book
Customer# = 3
Order# = 11
Item = Paper
Partation (3) = CD
55 A9:∞
54:∞ AA
Partition 1 Partition 2 Partition 3
 Partation、Sortに該当するAttributes以外は事前に定義する必要はない
 レコード間でAttributesが不揃いであっても問題ない
 単一アイテムの合計は400KB
スキーマレス
Partation-Range Table
ItemAttribute1
(Number)
Partation Key
ItemAttribute1
(Number)
Attribute3
(Binary)
Partation
Key
ItemAttribute1
(Number)
Partation Key
Attribute2
(String)
Attribute2
(String)
Attribute2
(String)
Sort Key
Sort Key
Sort Key
Partation Table
ItemAttribute1
(Number)
Partation Key
ItemAttribute1
(Number)
Attribute3
(Binary)
Partation Key
ItemAttribute1
(Number)
Attribute2
(String)
Partation Key
プライマリキー以外のAttributeは
事前定義の必要はなくput時に指定
したものを格納できる
テーブル & データ 操作について
• GetItem
• Partation Keyを条件として指定
し、
一件のアイテムを取得
• PutItem
• 1件のアイテムを書き込む
• Update
• 1件のアイテムを更新
• Delete
• 1件のアイテムを削除
• Query
• Partation KeyとSort Keyの複合条件に
マッチするアイテム群を取得
• BatchGet
• 複数のプライマリキーを指定して
マッチするアイテム群を取得
• Scan
• テーブル総ナメする
よく使われるオペレーションは以下のとおり
※Query または Scan オペレーション
で、最大 1 MB のデータを取得可能
Local Secondary Index (LSI)
Sort key以外に絞り込み検索を行うkeyを持つことができる
Partition keyが同一で、他のアイテムからの検索のために利用
すべての要素(テーブルとインデックス)の合計サイズを、各
ハッシュキーごとに 10 GB に制限
A1
(PK)
A3
(Sort)
A2
(table key)
A1
(PK)
A2
(Sort)
A3 A4 A5
LSIs A1
(PK)
A4
(Sort)
A2
(table key)
A3
(projected)
Table
KEYS_ONLY
INCLUDE A3
A1
(PK)
A5
(Sort)
A2
(table key)
A3
(projected)
A4
(projected)
ALL
Global Secondary Index (GSI)
Partition Key属性の代わりとなる
Partition Keyをまたいで検索を行うためのインデックス
A1
(PK)
A2 A3 A4 A5
GSIs A5
(PK)
A4
(Sort)
A1
(table key)
A3
(projected)
Table
INCLUDE A3
A4
(PK)
A5
(Sort)
A1
(table key)
A2
(projected)
A3
(projected) ALL
A2
(PK)
A1
(table key)
KEYS_ONLY
DynamoDB Streams
• DynamoDBへの書き込みに応じて値チェックをしつつ
別テーブルの更新やプッシュ通知を実行
• DynamoDBの更新状況の監査ログをS3に保存
AWS Lambda
Amazon DynamoDB
Table and Streams
プッシュ通知
別テーブルを
更新
監査ログを
保存
DynamoDB Triggers
DynamoDB + AWS Lambda= DynamoDB Triggers
TTL(Time To Live)
特徴
• Itemの有効期限が切れ、データベース
から自動削除されるタイミングを定義可
能
• プロビジョニングスループットを使用す
ることなく、関連性のないデータのスト
レージ使用量と保存コストを削減可能
• 追加料金なし
• 既存・新規のテーブルに設定可能
• DynamoDB Streamsとの併用可能
注意点
• 期限切れ後、即削除されるわけではない
 48時間以内に削除
 読み取り時に期限切れのものを取得し
ないようにするにはQuery or
アプリ側でのフィルタが必要
• フルマネージドかつ高可用性: リージョン内でマルチAZ構成かつ
キャッシュ情報のレプリケーション、障害時のフェイルオーバーなど
をフルマネージドで実現
• DynamoDB API互換: 現在のSDKと互換性を保っているので
コードの大部分は書き直す必要が無い
• Write-through: ライトスルーでキャッシュを保持
• Flexible: 様々なDynamoDBのテーブル状況に対応
• Scalable: 最大10ノードまでのスケールアウトに対応
• Manageability: Amazon CloudWatch, Tagging for DynamoDB,
AWS Consoleなどとの連携も完備
• Security: Amazon VPC, AWS IAM, AWS CloudTrail, AWS
Organizationsに対応
特徴
DynamoDB Accelerator (DAX)
DynamoDB
Your Applications
DynamoDB Accelerator
Partition 1
2000
RCUs
Partition K
2000 RCUs
Partition M
2000 RCUs
Partition 50
2000 RCU
特定のパーティションへ集中した読み込み
商品 A 商品 B
Shoppers
商品カタログテーブル
Partition 1
1000
WCUs
Partition K
1000 WCUs
Partition M
1000 WCUs
Partition N
1000 WCUs
投票テーブル
Candidate
(候補者) A
Candidate B
特定のパーティションへ集中した書き込み
投票者
Provision 200,000 WCUs
キュー、ストリームによる負荷調整(非同期処理)
Workers
Dashboard
• 送信される投票内容を
一旦、SQSやkinesis で受
ける
• SQSなどからメッセージ
を取得してDynamoDB へ
書き込みを実施する
Worker を必要に応じてス
ケールさせ、キュー内の
メッセージを処理
• 瞬間的な特定キーへの偏
りを回避
Amazon
Kinesis
Amazon
SQS
DynamoDB Stream
Cross-Region Replication
Library
Asia Pacific (Tokyo)
EU (Ireland) ReplicaUS East (N. Virginia)
DynamoDB Cross-region Replication
Global Tables
フルマネージド
クロスリージョンリプリケーション
フルマネージド、マルチリージョン、
マルチマスターデータベース
グローバル分散アプリケーションで
高いパフォーマンスを実現
マルチリージョンの耐障害性
PITRで継続的バック
アップ
On-Demand Backupで
長期間のアーカイブおよ
びデータ保持のための
規制要件の遵守
バックアップは
パフォーマンスに影響
なし
On-Demand Backup / Point-In-Time-Recovery
CloudWatch Contributor Insights
DynamoDB Transactions
DynamoDBで複数Item、複数tableに対
する書き込み操作や読み込み操作で
ACIDトランザクションが可能に
トランザクション分離レベルは
serializableでロックは取らない
トランザクションの進行中にアイテムが
トランザクション外で変更された場合、
トランザクションはキャンセルされ、例
外を発生させたItemまたはItemに関す
る詳細がスローされる
NoSQL Workbench
Wiindows,Macで動作
テーブルの設計、作成、
クエリ、管理に役立つデータ
モデリング、データ可視化、
クエリ開発機能を提供する
統合可視化ツール

More Related Content

More from Kameda Harunobu

It in the future and cloud
It in the future and cloudIt in the future and cloud
It in the future and cloudKameda Harunobu
 
AWS 資格試験対策講座
AWS 資格試験対策講座AWS 資格試験対策講座
AWS 資格試験対策講座Kameda Harunobu
 
Sapporo devfesta 2019/11/13
Sapporo devfesta 2019/11/13Sapporo devfesta 2019/11/13
Sapporo devfesta 2019/11/13Kameda Harunobu
 
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Kameda Harunobu
 
20180123 20分でlive配信aws media services(media live mediapackage)_pub
20180123 20分でlive配信aws media services(media live mediapackage)_pub20180123 20分でlive配信aws media services(media live mediapackage)_pub
20180123 20分でlive配信aws media services(media live mediapackage)_pubKameda Harunobu
 
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編Kameda Harunobu
 
Migration to aws as of 20170920
Migration to aws as of 20170920Migration to aws as of 20170920
Migration to aws as of 20170920Kameda Harunobu
 

More from Kameda Harunobu (15)

It in the future and cloud
It in the future and cloudIt in the future and cloud
It in the future and cloud
 
AWS and PCI DSS
AWS and PCI DSSAWS and PCI DSS
AWS and PCI DSS
 
AWS 資格試験対策講座
AWS 資格試験対策講座AWS 資格試験対策講座
AWS 資格試験対策講座
 
re:invent2019 NW JAWS
re:invent2019 NW JAWSre:invent2019 NW JAWS
re:invent2019 NW JAWS
 
Sapporo devfesta 2019/11/13
Sapporo devfesta 2019/11/13Sapporo devfesta 2019/11/13
Sapporo devfesta 2019/11/13
 
JAWS Festa 2019 keynote
JAWS Festa 2019 keynoteJAWS Festa 2019 keynote
JAWS Festa 2019 keynote
 
Jaws kagoshima 20191028
Jaws kagoshima 20191028Jaws kagoshima 20191028
Jaws kagoshima 20191028
 
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018
 
Aws handson 20181108
Aws handson 20181108Aws handson 20181108
Aws handson 20181108
 
JAWS FESTA 2018
JAWS FESTA 2018JAWS FESTA 2018
JAWS FESTA 2018
 
AWS Nightschool20180618
AWS Nightschool20180618AWS Nightschool20180618
AWS Nightschool20180618
 
20180123 20分でlive配信aws media services(media live mediapackage)_pub
20180123 20分でlive配信aws media services(media live mediapackage)_pub20180123 20分でlive配信aws media services(media live mediapackage)_pub
20180123 20分でlive配信aws media services(media live mediapackage)_pub
 
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
 
Migration to aws as of 20170920
Migration to aws as of 20170920Migration to aws as of 20170920
Migration to aws as of 20170920
 
20170826 Oita JAWS
20170826 Oita JAWS20170826 Oita JAWS
20170826 Oita JAWS
 

Recently uploaded

Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxivanwang53
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ivanwang53
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元ivanwang53
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンivanwang53
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Componentsokitamasashi
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]Taka Narita
 

Recently uploaded (6)

Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
 

DynamoDB

Editor's Notes

  1. Amazon DynamoDB と Amazon Kinesis 順序性あり。ストリームに入ってきた順に処理される イベントソースとして登録したストリームに対してLambdaが自動的に取得しにいく イベントごとに複数のレコード データが期限切れになるまでリトライ クラウド上で、イベントをトリガーに独自のコードを稼働させるComputeサービス EC2インスタンスやOS等インフラの管理作業が不要 毎日数件から毎秒数千件のリクエストまで自動的にスケール 従量課金、実際にコードが稼働した時間に対してのお支払 新たに追加された情報(イベント)に対して即座に応答するアプリケーションを、特別な仕組みなく簡単に実装できる 2014年11月に発表され、現在はPreviewとして提供 { "Records":[ { "EventName":"INSERT", "EventVersion":"1.0", "EventSource":"aws:dynamodb", "Dynamodb":{ "NewImage":{ "Message":{ "S":"New item!" }, "Id":{ "N":"101" } }, "SizeBytes":26, "StreamViewType":"NEW_AND_OLD_IMAGES", "SequenceNumber":"111", "Keys":{ "Id":{ "N":"101" } } }, "EventID":"1", "eventSourceARN":"arn:aws:dynamodb:us-east-1:acct-id:table/ExampleTableWithStream/stream/stream-id/", "AwsRegion":"us-east-1" }, { "EventName":"MODIFY", "EventVersion":"1.0", "EventSource":"aws:dynamodb", "Dynamodb":{ "NewImage":{ "Message":{ "S":"This item has changed" }, "Id":{ "N":"101" } }, "SizeBytes":59, "StreamViewType":"NEW_AND_OLD_IMAGES", "SequenceNumber":"222", "OldImage":{ "Message":{ "S":"New item!" }, "Id":{ "N":"101" } }, "Keys":{ "Id":{ "N":"101" } } }, "EventID":"2", "eventSourceARN":"arn:aws:dynamodb:us-east-1:acct-id:table/ExampleTableWithStream/stream/stream-id/", "AwsRegion":"us-east-1" }, { "EventName":"REMOVE", "EventVersion":"1.0", "EventSource":"aws:dynamodb", "Dynamodb":{ "SizeBytes":38, "StreamViewType":"NEW_AND_OLD_IMAGES", "SequenceNumber":"333", "OldImage":{ "Message":{ "S":"This item has changed" }, "Id":{ "N":"101" } }, "Keys":{ "Id":{ "N":"101" } } }, "EventID":"3", "eventSourceARN":"arn:aws:dynamodb:eu-west-1:acct-id:table/ExampleTableWithStream/stream/stream-id/", "AwsRegion":"eu-west-1" } ] }