それと、db showcaseで、
AWSのDynamoDBやDynamoDB Streamの話も聞いてきたので、メモメモ
Dynamo:
DynamoDB:完全マネージ度型のNoSQL
Table
Item=レコード
アトリビュート→カラム
ハッシュキー:必須
レンジキー
Table API
DDL,DMLを用意している
Stream API
あとで紹介
AWS SDKとCLI(コマンドライン)
データタイプ:ストリング、数値、バイナリ、JSON用
HashTable
HashKeyは単体でプライマリーキーとして利用できる
データは3か所にレプリケーション
Hash-Renge
ハッシュキーの複数データの順序保証をするため
DynamoDBの整合性
2つのレプリカでAck
Read
デフォルト
ConsistentRead:3つ一緒の時
LSI(Local Secandary Index(LSI)
GSI(Global Secondary Index)
GSIの更新フロー
非同期で更新
スケーリンフ
スループット:指定できる
スループット
テーブルレベルによってプロ美女にんぐ
Writeキャパシティーユニット
Readキャパシティーユニット
→どくりつ
パーティショニング算出
スループット
ストレージ テーブルサイズを10Gでわる
の大きいほう
DynamoDBの課金
スループットで決まる時間料金
ストレージの価格
キーが偏らないように
バースト処理:超過するとエラー
データモデリング
1:Nリレージョン 親子
N:MクエリAPIでアクセス
JSON型:昨年10月から
Document
ユースケース、ベストプラクティス
・イベントログ
ホットテーブルとコールドデータとして別テーブル(混在させない)
アーカイブしたらS3
・メッセージアプリ
メタデータを別テーブル
大きいデータを分けて配置
書き込み処理を単純化
・ソーシャルゲーム
HashKeyとRengeキーのみインデックス大正
→2つ以上ある場合
1.HashKeyを1項目、RengeKeyを残りの項目にしてフィルター
2.複合キーとして指定
・スパースなインデックス
リアルタイム投票システム
スケールすることによるボトルネック→シャーディんグでの書き込み
正確な投票
DynamoDB Stream
すべての更新保持。
シリアライズされる
24時間
View Type:Old image,New Image,old+New,key
つかいみち
Kinesis Client Libraryからとか
クロスリージョンレプリケーション→海外にバックアップ
DynameDBStream+らむだ
ラムダ:イベントをトリガーにレコード実行
リアルタイム投票
ユースケース
・セッション管理
・ユーザー情報
・行動履歴
・ソーシャルのバックエンド
ユースケースに合わせてDB製品を選択
キャパシティ→クラウドウォッチでわかる
ダイナミックDynamoDB(オープンソース)で自動化できる
AWSのDynamoDBやDynamoDB Streamの話も聞いてきたので、メモメモ
Dynamo:
DynamoDB:完全マネージ度型のNoSQL
Table
Item=レコード
アトリビュート→カラム
ハッシュキー:必須
レンジキー
Table API
DDL,DMLを用意している
Stream API
あとで紹介
AWS SDKとCLI(コマンドライン)
データタイプ:ストリング、数値、バイナリ、JSON用
HashTable
HashKeyは単体でプライマリーキーとして利用できる
データは3か所にレプリケーション
Hash-Renge
ハッシュキーの複数データの順序保証をするため
DynamoDBの整合性
2つのレプリカでAck
Read
デフォルト
ConsistentRead:3つ一緒の時
LSI(Local Secandary Index(LSI)
GSI(Global Secondary Index)
GSIの更新フロー
非同期で更新
スケーリンフ
スループット:指定できる
スループット
テーブルレベルによってプロ美女にんぐ
Writeキャパシティーユニット
Readキャパシティーユニット
→どくりつ
パーティショニング算出
スループット
ストレージ テーブルサイズを10Gでわる
の大きいほう
DynamoDBの課金
スループットで決まる時間料金
ストレージの価格
キーが偏らないように
バースト処理:超過するとエラー
データモデリング
1:Nリレージョン 親子
N:MクエリAPIでアクセス
JSON型:昨年10月から
Document
ユースケース、ベストプラクティス
・イベントログ
ホットテーブルとコールドデータとして別テーブル(混在させない)
アーカイブしたらS3
・メッセージアプリ
メタデータを別テーブル
大きいデータを分けて配置
書き込み処理を単純化
・ソーシャルゲーム
HashKeyとRengeキーのみインデックス大正
→2つ以上ある場合
1.HashKeyを1項目、RengeKeyを残りの項目にしてフィルター
2.複合キーとして指定
・スパースなインデックス
リアルタイム投票システム
スケールすることによるボトルネック→シャーディんグでの書き込み
正確な投票
DynamoDB Stream
すべての更新保持。
シリアライズされる
24時間
View Type:Old image,New Image,old+New,key
つかいみち
Kinesis Client Libraryからとか
クロスリージョンレプリケーション→海外にバックアップ
DynameDBStream+らむだ
ラムダ:イベントをトリガーにレコード実行
リアルタイム投票
ユースケース
・セッション管理
・ユーザー情報
・行動履歴
・ソーシャルのバックエンド
ユースケースに合わせてDB製品を選択
キャパシティ→クラウドウォッチでわかる
ダイナミックDynamoDB(オープンソース)で自動化できる