SlideShare a Scribd company logo
1 of 44
しみず @shimy_net
2013 / 6 / 22
Amazon DynamoDB
初心者向け 超速マスター編
自己紹介
しみず @shimy_net
Webアーキテクト
アマゾン芸人
無駄に技術を使って
面白いことをする
本を執筆しました
http://goo.gl/QtaK6
やること
□ 概説
□ Management Console から利用する
・Table の作成
・Throughput の変更
・Item の登録、取得、更新
□ Eclipse から利用する(Java)
・デモンストレーション
□ 手乗りDynamoDB
・デモンストレーション
Amazon DynamoDB とは
□ 完全マネージド型の NoSQL データベースサービス
・管理不要で高い拡張性を提供
・ハードウェア調達、インストール、設定、レプリケーション、
 ソフトウェア修正プログラムの適用、クラスタ化 が不要
・開発者はAPI経由で利用するだけ(SDK)
□ 高い拡張性
・データベース容量は自動的に拡張
・パフォーマンスを指定できる
  ・利用者がダイヤルを設定するようにパフォーマンスを設定
  ・秒間あたりの、読み込み/書き込みスループットを指定
Amazon DynamoDB とは
□ データへの高速なアクセス
・AWSクラウドの特性を活用
 ・十分な数のハードウェアに分散し、安定した高いパフォーマンスを提供
 ・SSDを利用して高速アクセス
・データベースが大規模になっても、数ミリ秒のアクセス速度を期待
□ 高い信頼性
・同期レプリケーションアーキテクチャ
  ・データを複数のAZ(データセンター)にコピー
  ・データセンターレベルの障害からもデータを守る
Amazon DynamoDB とは
□ 整合性モデル
 ・読み込みに対して結果的に整合性のある読み込みを設定するか
  強い整合性を設定するかを指定できる
□ Local Secondary Indexes
 ・テーブル毎に最大5つのローカルセカンダリインデックスをサポート
 ・テーブルの属性の一部もしくは全てを射影できる
□ Amazon EMR 連携
 ・S3 への Export / Import、Query、Join
Data Model
□ Tables Items Attributes
DynamoDB Table1
Table2
Table N
・・・
Item1
Item2
Item3
Item N
・・・
{
Id = 101
ProductName = "Book 101 Title"
ISBN = "111-1111111111"
Authors = [ "Author 1", "Author 2" ]
Price = -2
Dimensions = "8.5 x 11.0 x 0.5"
PageCount = 500
InPublication = 1
ProductCategory = "Book"
}
Attribute
{
Id = 201
ProductName = "18-Bicycle 201"
Description = "201 description"
BicycleType = "Road"
Brand = "Brand-Company A"
Price = 100
Gender = "M"
Color = [ "Red", "Black" ]
ProductCategory = "Bike"
}
Item1
Item2
利用可能な型
・Scalar data types
  Number, String, Binary
・Multi-valued types
  Number Set, String Set, Binary Set
64KBまで
スキーマレス
Primary Key
□ Hash Type Primary Key
 ・1つの Attribute が Primary Key
 ・DynamoDB は Primary Key に対して Hash Index を作成
 
□ Hash and Range Type Primary Key
 ・2つの Attribute が Primary Key
     1: Hash Primary Key
     2: Range Primary Key
 ・DynamoDB は Hash Primary Key に対して Hash Index を作成
 ・DynamoDB は Range Primary Key に対して整列した Range Index を作成
Attribute 1
(Hash Primary Key)
Attribute 2 Attribute 3
Attribute 1
(Hash Primary Key)
Attribute 2
(Range Primary Key)
Attribute 3
Map<HashKey,Object>
Map<HashKey, SortedMap<RangeKey,Object>>
Primary Key(具体例)
□ サンプルデータ
Table Name Primary Key Type Hash Attribute Name Range Attribute Name
Forum ( Name, ... ) Hash Attribute Name: Name -
Thread (ForumName, Subject, ... ) Hash and Range Attribute Name: ForumName Attribute Name: Subject
Reply ( Id, ReplyDateTime, ... ) Hash and Range Attribute Name: Id Attribute Name: ReplyDateTime
Amazon DynamoDB
Amazon DynamoDB#DynamoDB Thread 1
2011-12-11 00:40:57
Amazon DynamoDB
DynamoDB Thread1
Amazon S3
Amazon DynamoDB
DynamoDB Thread2
Amazon S3
S3 Thread2
Amazon DynamoDB#DynamoDB Thread 1
2011-12-18 00:40:57
Amazon DynamoDB#DynamoDB Thread 1
2011-12-25 00:40:57
Amazon DynamoDB#DynamoDB Thread 2
2011-12-25 00:40:57
Amazon DynamoDB#DynamoDB Thread 2
2012-01-03 00:40:57
Forum Thread Reply
Hash Primary key
Range Primary key
Hash Primary key
Range Primary key
Hash Primary key
Primary Key(具体例)
□ Forum
Name (Primary Key) Other Attributes
"Amazon DynamoDB" {
Category="Amazon Web Services"
Threads=3
Messages=4
Views=1000
LastPostBy="User A"
LastPostDateTime= "2012-01-03T00:40:57.165Z"
}
"Amazon S3" {
Category="Amazon Web Services"
Threads=1
}
Primary Key(具体例)
□ Thread
Name (Primary Key) Other Attributes
ForumName = "Amazon DynamoDB"
Subject = "DynamoDB Thread 1"
{
Message = "DynamoDB thread 1 message text"
LastPostedBy = "User A"
Views = 0
Replies = 0
Answered = 0
Tags = [ "index", "primarykey", "table" ]
LastPostDateTime = "2012-01-03T00:40:57.165Z"
}
ForumName = "Amazon DynamoDB"
Subject = "DynamoDB Thread 2
{
Message = "DynamoDB thread 2 message text"
LastPostedBy = "User A"
Views = 0
Replies = 0
Answered = 0
Tags = [ "index", "primarykey", "rangekey" ]
LastPostDateTime = "2012-01-03T00:40:57.165Z"
}
ForumName = "Amazon S3"
Subject = "S3 Thread 1"
{
Message = "S3 Thread 1 message text"
LastPostedBy = "User A"
Views = 0
Replies = 0
Answered = 0
Tags = [ "largeobject", "multipart upload" ]
LastPostDateTime = "2012-01-03T00:40:57.165Z"
}
Primary Key(具体例)
□ Reply
Name (Primary Key) Other Attributes
Id = "Amazon DynamoDB#DynamoDB Thread 1"
ReplyDateTime = "2011-12-11T00:40:57.165Z
{
Message = "DynamoDB Thread 1 Reply 1 text"
PostedBy = "User A"
}
Id = "Amazon DynamoDB#DynamoDB Thread 1"
ReplyDateTime = "2011-12-18T00:40:57.165Z
{
Message = "DynamoDB Thread 1 Reply 1 text"
PostedBy = "User A"
}
Id = "Amazon DynamoDB#DynamoDB Thread 1"
ReplyDateTime = "2011-12-25T00:40:57.165Z
{
Message = "DynamoDB Thread 1 Reply 3 text"
PostedBy = "User B"
}
Id = "Amazon DynamoDB#DynamoDB Thread 2"
ReplyDateTime = "2011-12-25T00:40:57.165Z
{
Message = "DynamoDB Thread 2 Reply 1 text"
PostedBy = "User A"
}
Id = "Amazon DynamoDB#DynamoDB Thread 2"
ReplyDateTime = "2012-01-03T00:40:57.165Z
{
Message = "DynamoDB Thread 2 Reply 2"
PostedBy = "User A"
}
Local Secondary Indexes
second=4
id=3
y=xx(Projected)
Primary key Secondary Index
□ Local Secondary Indexes とは
 ・テーブル毎に最大5つのローカルセカンダリインデックスをサポート
 ・テーブルの属性の一部もしくは全てを射影できる
・・・
id=3
x=xx
y=xx
z=xx
id=3
x=xx
y=xx
z=xx
Local Secondary Indexes
□ LSI がないとき
□ LSI があるとき
Table Item1
Item2
Item N
プログラム
loop (items) {
  //処理
}
Item2
・・・
Item9
必要な Item を抽出
するフィルタが必要
Table Item2
Item9
Query
Query
Provisioned Throughput
□ Unit とは
書き込みの場合
1 ユニット = 1KB の Item に対して 1 秒あたり 1 回の書き込みできる
読み込みの場合
1 ユニット = 4KB のItemに対して強い整合性のある読み込みを 1 秒あたり 1 回
できる ※結果整合性のある読み込みは 1 秒あたり 2 回できる
整合性モデル
□ 結果的に整合性のある読み込み(デフォルト)
‒ 結果的に整合性のあるオプションを選択すると、読み込みスループットが最大限
に向上します。ただし、結果的に整合性のある読み込みには、最新の書き込み結
果が反映されない可能性があります。データの全コピーの整合は通常 1 秒以内に
行われます。短時間後に読み込みを繰り返すことによって、更新されたデータが返
されます。
□ 強い整合性の読み込み
‒ 結果的に整合性のある読み込みに加えて、Amazon DynamoDB は、お客様のア
プリケーションまたはお客様のアプリケーションの要素が必要とする場合に強い
整合性のある読み込みをリクエストするための、柔軟性とコントロールを提供し
ます。強い整合性のある読み込みが返す結果には、読み込みの前に適切な応答を
受け取ったすべての書き込みが反映されています。
API
CREATETABLE
‒ テーブルを作成し、データアクセスに使用するプライマリインデックスを指定します。
UPDATETABLE
‒ 指定されたテーブルについて、 プロビジョニングされたスループット値を更新します。
DELETETABLE
‒ テーブルを削除します。
DESCRIBETABLES
‒ テーブルサイズ、ステータス、およびインデックス情報を返します。
LISTTABLES
‒ 現在のアカウントおよびエンドポイントに関連付けられたすべてのテーブルのリストを返します。
PUTITEM
‒ 新しい項目を作成するか、古い項目を(すべての属性を含め)新しい項目で置き換えます。指定したテーブルに同じプライ
マリキーを持つ項目が存在する場合、既存の項目は新しい項目に完全に置き換えられます。条件付き演算子を使用して、所定
の条件に一致する属性値を持つ項目のみを置き換えたり、その項目が存在しない場合にのみ新しい項目を挿入したりすること
もできます。
BATCHWRITEITEM
‒ 1回のトランザクションとしてではなく、1回のリクエストで、複数のテーブル間で複数の項目を挿入、置換、削除します。
PUT または DELETE で最大25項目のバッチをサポートし、合計リクエストサイズは最大1 MB です。
UPDATEITEM ‒ 既存の項目の属性を編集します。条件付き演算子を使用して、項目の属性値が所定の条件に一致する場合に
のみ更新を実行することもできます。
DELETEITEM
‒ プライマリキーを使用してテーブルから1つの項目を削除します。条件付き演算子を使用して、項目の属性値が所定の条件
に一致する場合にのみ項目を削除することもできます。
API
GETITEM
‒ GETITEM 演算は、プライマリキーに一致する項目の属性セットを返します。GETITEM 演算は、デフォルトでは、結果的
に整合性のある読み込みを提供します。ご利用のアプリケーションで結果的に整合性のある読み込みを使用できない場合は、
CONSISTENTREAD を使用します。
BATCHGETITEMS
‒ BATCHGETITEMS 演算は、複数の項目の属性を複数のテーブルから、それぞれのプライマリキーを使用して返します。1
回の応答のサイズ制限は 1 MB で、最大 100 個の項目を返します。強い整合性と結果整合性の両方をサポートします。
QUERY
‒ テーブルのプライマリキーを使用して、または、セカンダリインデックスからセカンダリインデックスキーを使用して、1
つ以上の項目を取得します。範囲キー値またはセカンダリインデックスキーに対して比較演算子を使用することで、クエリの
範囲を絞り込むことができます。強い整合性と結果整合性の両方をサポートします。応答1つあたりのサイズ上限は1 MBです。
SCAN
‒ テーブルに対して完全スキャンを実行し、1つ以上の項目と属性を取得します。返される項目は、1つ以上の属性に対して指
定したフィルタで制限されている場合があります。したがって、この API は、テーブルのプライマリキーではない属性に対し
て一時的なクエリを有効にするときに使用できます。ただし、これはインデックスを使用しない完全テーブルスキャンなので、
予測可能なパフォーマンスが必要なアプリケーションクエリには使用しないでください。スキャン API リクエストの結果
セットは結果的に整合性があります。スキャン API をインジケータと考えることができます。あるスキャン API リクエスト
のスキャン項目の合計サイズが 1 MB の上限を超えると、そのリクエストは終了し、取得された結果は(以降のオペレーショ
ンでスキャンを続行できるように)LASTEVALUATEDKEY と共に返されます。
デフォルトでは、スキャンオペレーションはデータを順次処理します。テーブルのスキャンを並列で行うことも可能です。ス
キャンオペレーションでは、そのスキャンをいくつのセグメントに分割するかを指定し、複数のセグメントを同時にスキャン
することができます。並列処理を使用したテーブルのスキャンの詳細については、並列スキャンのドキュメントを参照してく
ださい。
料金表
開発・管理ツール
□ AWS Management Console(Webブラウザ)
□ AWS SDK for XXXX
やること
□ 概説
□ Management Console から利用する
・Table の作成
・Throughput の変更
・Item の登録、取得、更新
□ Eclipse から利用する(Java)
・デモンストレーション
□ 手乗りDynamoDB
・デモンストレーション
Management Console から利用
① ここからスタート
② DynamoDBを選択
Table の作成
③ Create Table
をクリック
Table の作成
④ テーブル名を指定
⑤ Primary Key を指定
Table の作成
⑥ Local Secondary Index
を指定
Table の作成
⑦ Throughput を指定
Table の作成
⑧ 通知先 を指定
Table の作成
⑨ 完了
Table の作成
Table が作成された
Throughput の変更
① Modify Throughput
をクリック
Throughput の変更
② Throughput を変更
スループットを減らす作業は1日に4回まで
※グリニッジ標準時基準
1回の作業で最大2倍までスケール可能
③ 完了
Item の登録
① Explore Table をクリック
Item の登録
② New Item をクリック
Item の登録
③ 属性データを入力
④完了
Item の取得(Scan)
① Scan を選択 ② Go をクリック
Item の取得(Scan)
③ Item Details
をクリック
Item 一覧が
表示される
④ Item 詳細が
表示される
Item の取得(Query)
① Query を選択
② Hash Key と Range Key
で検索
Item の更新
① Edit Item をクリック
② Attribute を更新
③ 完了
やること
□ 概説
□ Management Console から利用する
・Table の作成
・Throughput の変更
・Item の登録、取得、更新
□ Eclipse から利用する(Java)
・デモンストレーション
□ 手乗りDynamoDB
・デモンストレーション
手乗りDynamoDBの仕組み
LRMIC G
センサー
WebSocket
(SocketRocket)
- (void)remoteControlReceived
WithEvent:(UIEvent *)event {}
EC2
DynamoDB
websocket
aws-sdk
応答結果により
色が変わる
手乗りDynamoDB
!
    以上!
ありがとうございました!
Items(参考)
Hash Key Range Key

More Related Content

What's hot

20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration ServiceAmazon Web Services Japan
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発Amazon Web Services Japan
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Web Services Japan
 
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてYoichi Sai
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...Amazon Web Services Japan
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon AthenaAmazon Web Services Japan
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBSAmazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Web Services Japan
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...Amazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAmazon Web Services Japan
 

What's hot (20)

20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS
 
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
 

Similar to Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪

DynamoDB Streamを使ったリアルタイム分析
DynamoDB Streamを使ったリアルタイム分析DynamoDB Streamを使ったリアルタイム分析
DynamoDB Streamを使ったリアルタイム分析ShinsukeYokota
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発Mitsuru Katoh
 
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料dcubeio
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -yoyamasaki
 
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京Yuko Mori
 
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Amazon Web Services Japan
 
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptxDynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptxTetsuya Wada
 
AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術gree_tech
 
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706Tsuyoshi Hirayama
 
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed な テレコムコアシステムを構築・運用してる話
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed なテレコムコアシステムを構築・運用してる話AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed なテレコムコアシステムを構築・運用してる話
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed な テレコムコアシステムを構築・運用してる話SORACOM,INC
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517akirahiguchi
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理junichi anno
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeSatoru Ishikawa
 
AWS Black Belt Techシリーズ AWS re:Invent 2014 最新情報のアップデート
AWS Black Belt Techシリーズ  AWS re:Invent 2014 最新情報のアップデートAWS Black Belt Techシリーズ  AWS re:Invent 2014 最新情報のアップデート
AWS Black Belt Techシリーズ AWS re:Invent 2014 最新情報のアップデートAmazon Web Services Japan
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーションYoshifumi Kawai
 

Similar to Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪 (20)

DynamoDB Streamを使ったリアルタイム分析
DynamoDB Streamを使ったリアルタイム分析DynamoDB Streamを使ったリアルタイム分析
DynamoDB Streamを使ったリアルタイム分析
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
 
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
 
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptxDynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
 
AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術
 
Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706Amazon dynamo db、cloudant、blockchainの紹介 20160706
Amazon dynamo db、cloudant、blockchainの紹介 20160706
 
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed な テレコムコアシステムを構築・運用してる話
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed なテレコムコアシステムを構築・運用してる話AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed なテレコムコアシステムを構築・運用してる話
AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed な テレコムコアシステムを構築・運用してる話
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
AWS Black Belt Techシリーズ AWS re:Invent 2014 最新情報のアップデート
AWS Black Belt Techシリーズ  AWS re:Invent 2014 最新情報のアップデートAWS Black Belt Techシリーズ  AWS re:Invent 2014 最新情報のアップデート
AWS Black Belt Techシリーズ AWS re:Invent 2014 最新情報のアップデート
 
WindowsでMySQL入門
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
 

More from 崇之 清水

WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)崇之 清水
 
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス崇之 清水
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法崇之 清水
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜崇之 清水
 
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現崇之 清水
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28崇之 清水
 
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT崇之 清水
 
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osakaサーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka崇之 清水
 
AWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまでAWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまで崇之 清水
 
データ分析 on AWS
データ分析 on AWSデータ分析 on AWS
データ分析 on AWS崇之 清水
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた崇之 清水
 
Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介崇之 清水
 
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup OsakaAmazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka崇之 清水
 
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207崇之 清水
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 崇之 清水
 
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016崇之 清水
 
Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築崇之 清水
 
関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例崇之 清水
 
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)崇之 清水
 
Amazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKAAmazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKA崇之 清水
 

More from 崇之 清水 (20)

WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)
 
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
 
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28
 
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
 
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osakaサーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
 
AWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまでAWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまで
 
データ分析 on AWS
データ分析 on AWSデータ分析 on AWS
データ分析 on AWS
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた
 
Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介
 
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup OsakaAmazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
 
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
 
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
 
Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築
 
関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例
 
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
 
Amazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKAAmazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKA
 

Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪

  • 1. しみず @shimy_net 2013 / 6 / 22 Amazon DynamoDB 初心者向け 超速マスター編
  • 4. やること □ 概説 □ Management Console から利用する ・Table の作成 ・Throughput の変更 ・Item の登録、取得、更新 □ Eclipse から利用する(Java) ・デモンストレーション □ 手乗りDynamoDB ・デモンストレーション
  • 5. Amazon DynamoDB とは □ 完全マネージド型の NoSQL データベースサービス ・管理不要で高い拡張性を提供 ・ハードウェア調達、インストール、設定、レプリケーション、  ソフトウェア修正プログラムの適用、クラスタ化 が不要 ・開発者はAPI経由で利用するだけ(SDK) □ 高い拡張性 ・データベース容量は自動的に拡張 ・パフォーマンスを指定できる   ・利用者がダイヤルを設定するようにパフォーマンスを設定   ・秒間あたりの、読み込み/書き込みスループットを指定
  • 6. Amazon DynamoDB とは □ データへの高速なアクセス ・AWSクラウドの特性を活用  ・十分な数のハードウェアに分散し、安定した高いパフォーマンスを提供  ・SSDを利用して高速アクセス ・データベースが大規模になっても、数ミリ秒のアクセス速度を期待 □ 高い信頼性 ・同期レプリケーションアーキテクチャ   ・データを複数のAZ(データセンター)にコピー   ・データセンターレベルの障害からもデータを守る
  • 7. Amazon DynamoDB とは □ 整合性モデル  ・読み込みに対して結果的に整合性のある読み込みを設定するか   強い整合性を設定するかを指定できる □ Local Secondary Indexes  ・テーブル毎に最大5つのローカルセカンダリインデックスをサポート  ・テーブルの属性の一部もしくは全てを射影できる □ Amazon EMR 連携  ・S3 への Export / Import、Query、Join
  • 8. Data Model □ Tables Items Attributes DynamoDB Table1 Table2 Table N ・・・ Item1 Item2 Item3 Item N ・・・ { Id = 101 ProductName = "Book 101 Title" ISBN = "111-1111111111" Authors = [ "Author 1", "Author 2" ] Price = -2 Dimensions = "8.5 x 11.0 x 0.5" PageCount = 500 InPublication = 1 ProductCategory = "Book" } Attribute { Id = 201 ProductName = "18-Bicycle 201" Description = "201 description" BicycleType = "Road" Brand = "Brand-Company A" Price = 100 Gender = "M" Color = [ "Red", "Black" ] ProductCategory = "Bike" } Item1 Item2 利用可能な型 ・Scalar data types   Number, String, Binary ・Multi-valued types   Number Set, String Set, Binary Set 64KBまで スキーマレス
  • 9. Primary Key □ Hash Type Primary Key  ・1つの Attribute が Primary Key  ・DynamoDB は Primary Key に対して Hash Index を作成   □ Hash and Range Type Primary Key  ・2つの Attribute が Primary Key      1: Hash Primary Key      2: Range Primary Key  ・DynamoDB は Hash Primary Key に対して Hash Index を作成  ・DynamoDB は Range Primary Key に対して整列した Range Index を作成 Attribute 1 (Hash Primary Key) Attribute 2 Attribute 3 Attribute 1 (Hash Primary Key) Attribute 2 (Range Primary Key) Attribute 3 Map<HashKey,Object> Map<HashKey, SortedMap<RangeKey,Object>>
  • 10. Primary Key(具体例) □ サンプルデータ Table Name Primary Key Type Hash Attribute Name Range Attribute Name Forum ( Name, ... ) Hash Attribute Name: Name - Thread (ForumName, Subject, ... ) Hash and Range Attribute Name: ForumName Attribute Name: Subject Reply ( Id, ReplyDateTime, ... ) Hash and Range Attribute Name: Id Attribute Name: ReplyDateTime Amazon DynamoDB Amazon DynamoDB#DynamoDB Thread 1 2011-12-11 00:40:57 Amazon DynamoDB DynamoDB Thread1 Amazon S3 Amazon DynamoDB DynamoDB Thread2 Amazon S3 S3 Thread2 Amazon DynamoDB#DynamoDB Thread 1 2011-12-18 00:40:57 Amazon DynamoDB#DynamoDB Thread 1 2011-12-25 00:40:57 Amazon DynamoDB#DynamoDB Thread 2 2011-12-25 00:40:57 Amazon DynamoDB#DynamoDB Thread 2 2012-01-03 00:40:57 Forum Thread Reply Hash Primary key Range Primary key Hash Primary key Range Primary key Hash Primary key
  • 11. Primary Key(具体例) □ Forum Name (Primary Key) Other Attributes "Amazon DynamoDB" { Category="Amazon Web Services" Threads=3 Messages=4 Views=1000 LastPostBy="User A" LastPostDateTime= "2012-01-03T00:40:57.165Z" } "Amazon S3" { Category="Amazon Web Services" Threads=1 }
  • 12. Primary Key(具体例) □ Thread Name (Primary Key) Other Attributes ForumName = "Amazon DynamoDB" Subject = "DynamoDB Thread 1" { Message = "DynamoDB thread 1 message text" LastPostedBy = "User A" Views = 0 Replies = 0 Answered = 0 Tags = [ "index", "primarykey", "table" ] LastPostDateTime = "2012-01-03T00:40:57.165Z" } ForumName = "Amazon DynamoDB" Subject = "DynamoDB Thread 2 { Message = "DynamoDB thread 2 message text" LastPostedBy = "User A" Views = 0 Replies = 0 Answered = 0 Tags = [ "index", "primarykey", "rangekey" ] LastPostDateTime = "2012-01-03T00:40:57.165Z" } ForumName = "Amazon S3" Subject = "S3 Thread 1" { Message = "S3 Thread 1 message text" LastPostedBy = "User A" Views = 0 Replies = 0 Answered = 0 Tags = [ "largeobject", "multipart upload" ] LastPostDateTime = "2012-01-03T00:40:57.165Z" }
  • 13. Primary Key(具体例) □ Reply Name (Primary Key) Other Attributes Id = "Amazon DynamoDB#DynamoDB Thread 1" ReplyDateTime = "2011-12-11T00:40:57.165Z { Message = "DynamoDB Thread 1 Reply 1 text" PostedBy = "User A" } Id = "Amazon DynamoDB#DynamoDB Thread 1" ReplyDateTime = "2011-12-18T00:40:57.165Z { Message = "DynamoDB Thread 1 Reply 1 text" PostedBy = "User A" } Id = "Amazon DynamoDB#DynamoDB Thread 1" ReplyDateTime = "2011-12-25T00:40:57.165Z { Message = "DynamoDB Thread 1 Reply 3 text" PostedBy = "User B" } Id = "Amazon DynamoDB#DynamoDB Thread 2" ReplyDateTime = "2011-12-25T00:40:57.165Z { Message = "DynamoDB Thread 2 Reply 1 text" PostedBy = "User A" } Id = "Amazon DynamoDB#DynamoDB Thread 2" ReplyDateTime = "2012-01-03T00:40:57.165Z { Message = "DynamoDB Thread 2 Reply 2" PostedBy = "User A" }
  • 14. Local Secondary Indexes second=4 id=3 y=xx(Projected) Primary key Secondary Index □ Local Secondary Indexes とは  ・テーブル毎に最大5つのローカルセカンダリインデックスをサポート  ・テーブルの属性の一部もしくは全てを射影できる ・・・ id=3 x=xx y=xx z=xx id=3 x=xx y=xx z=xx
  • 15. Local Secondary Indexes □ LSI がないとき □ LSI があるとき Table Item1 Item2 Item N プログラム loop (items) {   //処理 } Item2 ・・・ Item9 必要な Item を抽出 するフィルタが必要 Table Item2 Item9 Query Query
  • 16. Provisioned Throughput □ Unit とは 書き込みの場合 1 ユニット = 1KB の Item に対して 1 秒あたり 1 回の書き込みできる 読み込みの場合 1 ユニット = 4KB のItemに対して強い整合性のある読み込みを 1 秒あたり 1 回 できる ※結果整合性のある読み込みは 1 秒あたり 2 回できる
  • 17. 整合性モデル □ 結果的に整合性のある読み込み(デフォルト) ‒ 結果的に整合性のあるオプションを選択すると、読み込みスループットが最大限 に向上します。ただし、結果的に整合性のある読み込みには、最新の書き込み結 果が反映されない可能性があります。データの全コピーの整合は通常 1 秒以内に 行われます。短時間後に読み込みを繰り返すことによって、更新されたデータが返 されます。 □ 強い整合性の読み込み ‒ 結果的に整合性のある読み込みに加えて、Amazon DynamoDB は、お客様のア プリケーションまたはお客様のアプリケーションの要素が必要とする場合に強い 整合性のある読み込みをリクエストするための、柔軟性とコントロールを提供し ます。強い整合性のある読み込みが返す結果には、読み込みの前に適切な応答を 受け取ったすべての書き込みが反映されています。
  • 18. API CREATETABLE ‒ テーブルを作成し、データアクセスに使用するプライマリインデックスを指定します。 UPDATETABLE ‒ 指定されたテーブルについて、 プロビジョニングされたスループット値を更新します。 DELETETABLE ‒ テーブルを削除します。 DESCRIBETABLES ‒ テーブルサイズ、ステータス、およびインデックス情報を返します。 LISTTABLES ‒ 現在のアカウントおよびエンドポイントに関連付けられたすべてのテーブルのリストを返します。 PUTITEM ‒ 新しい項目を作成するか、古い項目を(すべての属性を含め)新しい項目で置き換えます。指定したテーブルに同じプライ マリキーを持つ項目が存在する場合、既存の項目は新しい項目に完全に置き換えられます。条件付き演算子を使用して、所定 の条件に一致する属性値を持つ項目のみを置き換えたり、その項目が存在しない場合にのみ新しい項目を挿入したりすること もできます。 BATCHWRITEITEM ‒ 1回のトランザクションとしてではなく、1回のリクエストで、複数のテーブル間で複数の項目を挿入、置換、削除します。 PUT または DELETE で最大25項目のバッチをサポートし、合計リクエストサイズは最大1 MB です。 UPDATEITEM ‒ 既存の項目の属性を編集します。条件付き演算子を使用して、項目の属性値が所定の条件に一致する場合に のみ更新を実行することもできます。 DELETEITEM ‒ プライマリキーを使用してテーブルから1つの項目を削除します。条件付き演算子を使用して、項目の属性値が所定の条件 に一致する場合にのみ項目を削除することもできます。
  • 19. API GETITEM ‒ GETITEM 演算は、プライマリキーに一致する項目の属性セットを返します。GETITEM 演算は、デフォルトでは、結果的 に整合性のある読み込みを提供します。ご利用のアプリケーションで結果的に整合性のある読み込みを使用できない場合は、 CONSISTENTREAD を使用します。 BATCHGETITEMS ‒ BATCHGETITEMS 演算は、複数の項目の属性を複数のテーブルから、それぞれのプライマリキーを使用して返します。1 回の応答のサイズ制限は 1 MB で、最大 100 個の項目を返します。強い整合性と結果整合性の両方をサポートします。 QUERY ‒ テーブルのプライマリキーを使用して、または、セカンダリインデックスからセカンダリインデックスキーを使用して、1 つ以上の項目を取得します。範囲キー値またはセカンダリインデックスキーに対して比較演算子を使用することで、クエリの 範囲を絞り込むことができます。強い整合性と結果整合性の両方をサポートします。応答1つあたりのサイズ上限は1 MBです。 SCAN ‒ テーブルに対して完全スキャンを実行し、1つ以上の項目と属性を取得します。返される項目は、1つ以上の属性に対して指 定したフィルタで制限されている場合があります。したがって、この API は、テーブルのプライマリキーではない属性に対し て一時的なクエリを有効にするときに使用できます。ただし、これはインデックスを使用しない完全テーブルスキャンなので、 予測可能なパフォーマンスが必要なアプリケーションクエリには使用しないでください。スキャン API リクエストの結果 セットは結果的に整合性があります。スキャン API をインジケータと考えることができます。あるスキャン API リクエスト のスキャン項目の合計サイズが 1 MB の上限を超えると、そのリクエストは終了し、取得された結果は(以降のオペレーショ ンでスキャンを続行できるように)LASTEVALUATEDKEY と共に返されます。 デフォルトでは、スキャンオペレーションはデータを順次処理します。テーブルのスキャンを並列で行うことも可能です。ス キャンオペレーションでは、そのスキャンをいくつのセグメントに分割するかを指定し、複数のセグメントを同時にスキャン することができます。並列処理を使用したテーブルのスキャンの詳細については、並列スキャンのドキュメントを参照してく ださい。
  • 21. 開発・管理ツール □ AWS Management Console(Webブラウザ) □ AWS SDK for XXXX
  • 22. やること □ 概説 □ Management Console から利用する ・Table の作成 ・Throughput の変更 ・Item の登録、取得、更新 □ Eclipse から利用する(Java) ・デモンストレーション □ 手乗りDynamoDB ・デモンストレーション
  • 23. Management Console から利用 ① ここからスタート ② DynamoDBを選択
  • 24. Table の作成 ③ Create Table をクリック
  • 26. Table の作成 ⑥ Local Secondary Index を指定
  • 31. Throughput の変更 ① Modify Throughput をクリック
  • 32. Throughput の変更 ② Throughput を変更 スループットを減らす作業は1日に4回まで ※グリニッジ標準時基準 1回の作業で最大2倍までスケール可能 ③ 完了
  • 33. Item の登録 ① Explore Table をクリック
  • 34. Item の登録 ② New Item をクリック
  • 36. Item の取得(Scan) ① Scan を選択 ② Go をクリック
  • 37. Item の取得(Scan) ③ Item Details をクリック Item 一覧が 表示される ④ Item 詳細が 表示される
  • 38. Item の取得(Query) ① Query を選択 ② Hash Key と Range Key で検索
  • 39. Item の更新 ① Edit Item をクリック ② Attribute を更新 ③ 完了
  • 40. やること □ 概説 □ Management Console から利用する ・Table の作成 ・Throughput の変更 ・Item の登録、取得、更新 □ Eclipse から利用する(Java) ・デモンストレーション □ 手乗りDynamoDB ・デモンストレーション