Amazon DynamoDBでデータベースを構築する方法を勉強したのでメモしておく。
Amazon DynamoDBでデータベースを作成する
AWS Management Consoleにログインしたら,Amazon DynamoDBを選択する。
画面右上のメニューから使用するリージョンを選択する。今回はAsia Pacific (Tokyo)を選択する。
画面中央のCreate Tableを選択する。
PRIMARY KEY
テーブル名とプライマリキー(主キー)についての情報を入力する。
入力項目 | 詳細 |
---|---|
Table Name | テーブルに付けたい名前を入力する。 |
Primary Key Type | プライマリキーの型を選択する。Hashでは,キーだけで一意に決定して検索することができる。Hash and Rangeでは,キー + 範囲で一意に決定して検索することができる。 |
Hash Attribute Name | Hashのカラム名を入力し,フィールドに格納出来る型を選択する。Range Attribute Nameの項目と同じカラム名を使用することは出来ない。 |
Range Attribute Name | Rangeのカラム名を入力し,フィールドに格納出来る型を選択する。Hash Attribute Nameの項目と同じカラム名を使用することは出来ない。 |
各項目を入力し終わったら,Continueを選択する。
Add Indexes
オプションとしてテーブルにインデックスを最大で5つまで追加することができる。
入力項目 | 詳細 |
---|---|
Index Type | インデックスの種類を選択する。Local Secondary Indexでは,特定のプライマリキーのハッシュ値に関連付けられるのに対し,Global Secondary Indexでは,このような制約はない。つまり,Local Secondary Indexは同じパーティション上に保存される項目だけを対象として実行するのに対し,Global Secondary Indexはテーブルのすべての項目が対象となる。 |
Index Hash Key | Hashのキーに対してのインデックス値を設定する。 |
Index Range Key | Rangeのキーに対してのインデックス値を設定する。 |
Index Name | インデックスに付ける名前を入力する。 |
Projected Attributes | 射影する属性(カラム名)を選択する。テーブルの属性の全て(All Attributes),もしくは一部(Table and Index Keys,Specify Attributes)を射影するかを選択することができる。Local Secondary Index(LSI)・Global Secondary Index(GSI)にコピーされる一連の属性を「射影」と呼ぶ。これはテーブルにある属性のうち,LSI・GSIに直接コピーされる属性のリストである。LSI・GSIにコピーされた属性は,テーブルの全項目を含むプライマリインデックスからデータを取得することなく,迅速に取得することができる。 |
各項目を入力し終わったら,Continueを選択する。
PROVISIONED THROUGHPUT CAPACITY
DynamoDBの処理能力を設定することができる。
入力項目 | 詳細 |
---|---|
Read Capacity Units | 1秒間辺りの読み込み性能に影響する指標。 |
Write Capacity Units | 1秒間辺りの書き込み性能に影響する指標。 |
上記の指標は以下のような式に基づいて,DynamoDBの性能に影響を与える。
Read Capacity Units
Read Capacity Units = 1秒間に読み込まれるアイテム数 * (アイテムのKB単位の容量 / 4)
Write Capacity Units
Write Capacity Units = 1秒間に書き込まれるアイテム数 * アイテムのKB単位の容量
上記2つの式では,どちらもアイテムのKB単位の容量は,最も近いKBに切り上げる必要がある。
THROUGHPUT ALARMS
Amazon DynamoDBに設定されている,Read Capacity Units,もしくはWrite Capacity Unitsがスループットの限界に近づいた時に通知するかどうかを設定することができる。
Use Basic Alarmsにチェックを付けることで,メールアドレスへの通知設定を有効にする。
75%~95%の間で設定できる値は,読み込み・書き込みのキャパシティのどれくらいが使われている場合に通知するかを設定する。
Send notification toには通知先のメールアドレスを入力する。
ちなみに,Notification will be sent whenには,PROVISIONED THROUGHPUT CAPACITYフェーズで入力した,Read Capacity UnitsとWrite Capacity Unitsの値に基づいて,ユニット消費数の目安となる数値が反映されている。
各項目を入力し終わったら,Continueを選択する。
SUMMARYフェーズ
設定を確認し,Createを選択する。
参考
DynamoDB の基礎知識とまとめ – Qiita
Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(2) 〜DynamoDB導入事例〜 – Pairy Tech Blog
Amazon DynamoDB ~DynamoDBについて~ |dynamo db とは 意味 | ナレコムAWSレシピ
Amazon Web Services ブログ: 【AWS発表】 Amazon DynamoDBでグローバルセカンダリーインデックスを利用可能に
よくある質問 – Amazon DynamoDB (フルマネージドNo SQLデータベースサービス) | アマゾン ウェブ サービス(AWS 日本語)
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪