AWS DynamoDB - user000422/0 GitHub Wiki
基本概要
NoSQL
フルマネージド
高可用性
容量無制限
「JOIN」はできない。
大容量のデータ保持には向いていない(コストが割高)。
柔軟な検索は行えない。
■料金 https://aws.amazon.com/jp/dynamodb/pricing/on-demand/
項目 | 金額 |
---|---|
ストレージ | 1GB単位 |
■ストレージ 自動拡張
■テーブル
パーティションキー
+ 属性(値)
で構成される。
RDBMSに例えると 主キーがパーティションキー、各カラムが属性。
AttributeType … データ型
AttributeType | 型 |
---|---|
S | 文字列 |
N | 数値 |
■設計 テーブルは分けずに1つで。(テーブル1つがベストプラクティス) インデックスを利用することでパフォーマンスを向上できるが高コスト。
操作
# 表示 テーブル一覧
aws dynamodb list-tables
# 表示 テーブル詳細
aws dynamodb describe-table --table-name sample_table
# テーブル作成
# ※カンマの後ろにスペース禁止
# ※キーを設定する属性以外はテーブル作成後に追加すること
aws dynamodb create-table \
--table-name sample_table \ # テーブル名を定義
--attribute-definitions \ # 属性を定義
AttributeName=sample_id,AttributeType=N \
AttributeName=sample_code,AttributeType=S \
--key-schema \ # スキーマを定義
AttributeName=sample_id,KeyType=HASH \ # HASH 主キー
AttributeName=sample_code,KeyType=RANGE \ # RANGE ソートキー
--provisioned-throughput \ # スループットを定義(これか何かが必須)
ReadCapacityUnits=5,WriteCapacityUnits=5 \
--table-class STANDARD