2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS: AWS入門(DynamoDB編1) - テーブルを作成する

Posted at
実施環境

Microsoft Edge 124.0.2478.67 (64bit)

0. 概要

AWS には、「 DynamoDB 」というサービスがあります。
DynamoDB はデータベースを利用できるサービスで、顧客情報や取引記録といった様々なデータを保管することができます。
今回はこの DynamoDB について、テーブルの作成やレコードの登録といった、ごく基本的な操作を行ってみます。

DynamoDB を無料枠で利用する場合は、日時にかかわらず 25GB まで利用できます。
その他にも細かい条件がありますが、詳細は以下の Web サイトを参照してください。

なお、最新の操作方法は以下の AWS 公式ドキュメントを参照してください。

これ以降の操作は、 DynamoDB の操作に対して権限があるユーザで実行してください。
例えば「 AmazonDynamoDBFullAccess 」というポリシーを付与したユーザを使用すると、 DynamoDB の機能全体を利用することができます。

WS000003.JPG

1. NoSQL とは

DynamoDB は一般的に広く使われている「 RDS 」ではなく、最近普及してきた「 NoSQL 」という種類のデータベースになります。
そのため、まずは NoSQL についての説明から始めます。

データベースの種類について考えるとき、最も一般的なものは「 RDB ( Relational Database ) 」というデータベースです。
RDB はデータベースとしてよくイメージするような、「複数の表を組み合わせてデータを保管するデータベース」です。

WS000641.JPG

RDB はデータの形がきっかりしているため処理がしやすく、データに矛盾も生じにくいです。
そのメリットのため、データベースとしては長らくこの RDB が主に使用されてきました。

ところがこの RDB 、きれいに整理できるデータに対しては強いのですが、多様なデータや大量のデータには対応しにくいという問題があります。
さらに、データの整合性を重視する作り上、複数サーバに分散しての実行にも向いていません。
これらのデメリットは、最近話題のビッグデータ分析や、クラウド環境・コンテナ環境などの分散を想定した環境を考えた場合、あまり喜ばしいことではありません。

WS000672.JPG

そこで注目されるようになってきたのが RDB 以外のデータベースであり、これを NoSQL といいます。
NoSQL には様々な種類がありますが、例えばキーバリュー型であれば「キー」と「値(バリュー)」の組み合わせでデータを表現します。
キーバリュー型は正確な検索集計には向かない一方で、柔軟性が強くアクセスも高速なため、ビッグデータ分析などでしばしば使用されます。

WS000671.JPG

2. DynamoDB とは

さて、 DynamoDB ですが、キーバリュー型の NoSQL の一種となります。
1 つのレコードは、「パーティションキー」「ソートキー」の 2 つのキーと、それ以外の追加のキーから作られます。
なお、「ソートキー」は無くてもかまいません。

WS000500.JPG

レコードは「パーティションキー」「ソートキー」の 2 つの組み合わせで同じものが無いようにする必要があります。

WS000501.JPG

DynamoDB の特殊な点として、「パーティションキー」「ソートキー」は単なるレコードのキーではなく、レコードの格納場所を規定する項目でもあるという点があります。
基本的に、同じパーティションキー(厳密にはパーティションキーのハッシュ値)を持つレコードは同じ場所に格納され、さらにソートキーの順番で並びます。

WS000502.JPG

この性質上、特にパーティションキーについては、アクセス場所の均等な分散などを考慮して注意深く設計することが大事です。

3. テーブル一覧画面

AWS マネジメントコンソールのホーム画面左上、検索フォームに「 dynamodb 」と入力します。
検索結果に出てくる「 DynamoDB 」をクリックします。

WS000207.JPG

画面左側のメニューから「テーブル」を選択します。

WS000209.JPG

これが今回主に使用するテーブル一覧画面です。

WS000211.JPG

4. テーブル作成

まずはレコードを格納するテーブルを作成しましょう。
「テーブルの作成」をクリックします。

WS000211.JPG

適当なテーブル名を入力します。

WS000212.JPG

パーティションキーを設定します。
ソートキーは設定しなくても大丈夫です。

WS000213.JPG

その他の細かい設定はデフォルトのままで問題ありません。
「テーブルの作成」をクリックします。

WS000215.JPG

テーブルの作成に成功していれば、以下のようなメッセージが表示されます。
テーブル一覧に作成したテーブルが表示されているはずです。

WS000380.JPG

5. レコード追加

では早速、作成したテーブルにレコードを追加してみましょう。
作成したテーブルをクリックします。

WS000381.JPG

「テーブルアイテムの探索」をクリックします。

WS000382.JPG

画面を下方向にスクロールして、「項目を作成」をクリックします。

WS000383.JPG

適当なキー値を入力し、「項目を作成」をクリックします。

WS000384.JPG

レコードが追加できました。

WS000385.JPG

6. キー追加

レコード作成画面で「新しい属性の追加」をクリックすると、新しいキーをレコードに追加することができます。

WS000386.JPG

WS000387.JPG

WS000390.JPG

7. キー削除

レコード作成画面で「削除」をクリックすれば、キーを削除できます。

WS000388.JPG

WS000389.JPG

WS000399.JPG

8. レコード編集

一度作成したレコードを編集するには、編集したいレコードにチェックを入れて「アクション」⇒「項目の編集」をクリックします。

WS000391.JPG

なお、ここでパーティションキーの値やソートキーの値を変更した場合は、「編集」ではなく「再作成」という扱いになります。

WS000393.JPG

9. レコード検索

レコードの検索を行うには、画面上のパネルを使用します。
今回はクエリ検索を使うので、「クエリ」にチェックを入れます。

WS000394.JPG

検索条件としてパーティションキーの値を入力し、「実行する」をクリックします。

WS000395.JPG

画面下のパネルに、指定したキー値のレコードだけが抽出されました。

WS000396.JPG

10. レコード削除

レコードを削除する場合は、削除したいレコードにチェックを入れて「アクション」⇒「項目を削除」をクリックします。

WS000397.JPG

確認メッセージが出るので、「削除」をクリックします。

WS000398.JPG

レコードが削除できました。

WS000399.JPG

11. テーブル削除

テーブルを削除するには、テーブル一覧画面で削除したいテーブルにチェックを入れ、「削除」をクリックします。

WS000400.JPG

削除設定はとりあえずデフォルトで大丈夫です。
「確認」と入力し、「削除」をクリックします。

WS000401.JPG

正常にテーブルが削除できれば、以下のようなメッセージが表示されます。
テーブル一覧からも削除したテーブルが消えているはずです。

WS000402.JPG

戻る

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?