ローカルでDynamoDBを動かしてみよう!

こんにちは。KOUKIです。

とある企業でWeb系エンジニアとして働いています。

最近AWSを触ることが多くなってきました(嬉しいことに!)。

AWSサービスの一つであるDynamoDBにも触る機会があったため、操作方法について記事にしました。

DynamoDBローカル

DynamoDBは、「高速で予測可能なパフォーマンスとシームレスなスケーラビリティを実現する、完全マネージド型の NoSQL データベースサービスです。」と公式に書いてありますが、初見だとなんのこっちゃ?と思います。

私が実際に触った感想だとRedisのようにKey-Valueの形でデータを保存できるデータベースでした。キャッシュサーバーとして使われる用途もありそうですね。

DynamoDBはAWSのサービスですが、開発・テスト用途にDynamoDBローカルが提供されていて、Docker環境上で動かせます。

Dockerをインストールする必要がありますが、以下のコマンドでDynamoDBローカルを動かすことができます。

DynamoDBローカルにアクセス

DynamoDBローカルコンテナを立ち上げた後、「http://localhost:8000/shell/」にアクセスしてください。

この画面からDynamoDBを操作できます。

DynamoDB操作

時間ができたらGo言語からDynamoDBにアクセスするプログラムを作りたいと思いますが、ひとまず画面上から操作してみましょう。

テーブルを表示する

他のDBと同様にDynamoDBにもテーブルの概念があります。まずは、テーブル一覧を表示させてみましょう。

コマンドは、JavaScriptで記述でき、「listTables」コマンドを使います。

このコードを先ほどの画面に貼り付けて実行します。※➡️で実行できます。

現状は、テーブルがないので空になります。

テーブルの作成

次は、テーブルを作成しましょう。「createTable」コマンドを使います。

もう一度、テーブル一覧を表示してみます。

「Booker」が作成されたことがわかります。

テーブル定義の表示

テーブル定義を表示してみましょう。「describeTable」コマンドを使います。

データの格納

次は、データを格納しましょう。「put」コマンドを使います。

データの取得

データを取得してみましょう。「scan」コマンドを使います。

テーブルの削除

テーブルを削除しましょう。「deleteTable」コマンドを使います。

チートシート

実は、DynamoDBローカルの画面上からチートシートが確認できます。「</>」ボタンを押下してください。

ここを確認すれば、簡単ですね^^

おわりに

DynamoDBはRedisよりも扱いが難しい気がします。

多分スキーマー設定のところと、エラーメッセージが出た時何が原因なのかよくわからない部分が難しさを加速させていると思います。

しかし、DynamoDBはとても安価で、高速処理が得意な技術なので、マスターしたいですね^^

それでは、また!

コメントを残す