Loading
BLOG 開発者ブログ

2024年2月14日

[DynamoDB]NoSQL Workbenchについて – 導入編

[DynamoDB]NoSQL Workbenchについて - 導入編

Amazon DynamoDBのテーブル設計において、NoSQL Workbenchは設計・開発に役立つ機能を有しています。
今回の記事では、NoSQL Workbenchの導入方法について紹介し、使い方について簡単に説明できればと思います。

目次

 

はじめに

こんにちは。
クラウドソリューション第二グループのimai.kです。

最近、業務でAmazon DynamoDBを使用するにあたり、NoSQL Workbenchを活用したテーブル設計を行なっています。
そのため、実務で経験した内容をアウトプットしたいと思い、記載します。

まず、NoSQL Workbenchの概要を簡単にご説明します。

NoSQL WorkbenchはAWSから提供されている、Amazon DynamoDB用のクライアントツールです。
(Amazon DynamoDBだけでなくAmazon Keyspacesに対するデータモデリングなども可能ですが、今回はDynamoDBのみをターゲットにしています。)

NoSQL Workbenchでは、主に「データのモデリング」「データ作成・表示」「クエリー等によるデータ操作」が行えます。

今回は「データのモデリング機能」を通して、NoSQL Workbenchの導入方法を紹介していきます。

ダウンロード&インストール

NoSQL Workbenchのインストーラを公式サイトからダウンロードし、流れに沿ってインストールしてください。

インストール手順については、特に難しいところもないため割愛します。

ちなみに、日本語版の公式サイトからは少し古いバージョンのものが配布されている可能性がありますので、英語版のサイトに切り替えてからダウンロードした方が吉です。

データのモデリングについて

NoSQL Workbenchを使用すると、Amazon DynamoDBで使用するためのテーブル定義を作成することができます。言い換えると、データのモデリングが可能です。

作成したデータモデルは、NoSQL Workbench間で共有可能なJSONやCloudFormationのテンプレートファイルとして出力可能です。(CloudFormation のテンプレートを使用することで、実際のAWS環境にDynamoDBのテーブルを作成することができます。)

試してみる

それでは、実際にNoSQL Workbenchを触りながら、データモデル機能を試していきます。

まずはNoSQL Workbenchを起動してみましょう。画像のような画面が出てくるので、LaunchボタンからDynamoDB用のエディタを起動していきます。

DynamoDB用のエディタが起動できたら、Create new data model からデータモデリングを開始していきます。

AWSによって構築済みのテンプレートを開くこともできますが、今回はスクラッチで作成していきましょう。

モデル名はなんでも良いですが、今回はタスク管理アプリを想定したデータを作成しようと思います。
モデル名を入力し、Createボタンからモデルを作成しましょう。

構造としては、モデルの配下に複数のテーブルを作成する形です。
ここで作成したテーブル定義が、DynamoDB上のテーブル定義として、そのまま使用可能です。
赤枠のボタンからテーブルを作成します。

テーブル作成画面は以下のような表示となります。
いくつか入力項目がありますが、今回は「テーブル名」「パーティションキー」「ソートキー」「アトリビュート」を設定するに留めておきます。

では、タスク管理アプリで管理するタスクの情報を定義してみたいと思います。

タスク情報として管理するデータは以下のようなものを想定してみます。

  • タスクID : id
  • タスク名 : title
  • タスクの説明 : detail
  • 担当者 : person_in_charge
  • ステータス : status
  • 開始日 : start
  • 期日 : limit
  • 作成日 : created_at
  • 更新日 : updated_at

上記データを実際に入力すると以下のようになりますので、二枚目の「Add table definition」を押下して登録しましょう。

登録すると、このようなテーブル定義が出来上がります。

以上のように、DynamoDB のテーブル定義を作成することが可能です。

ローカルのDynamoDBにコミット

作成したテーブル定義を使用して、DynamoDBにテーブルを作成することが可能です。

実際のAWS環境にテーブルを作成することも可能ですが、NoSQL WorkbenchにはローカルでDynamoDBを動かす機能があるので、ローカルにテーブルを作成してみます。

画面左下の「DDB Local」から、ローカルでDynamoDBを起動してみましょう。

DynamoDBが起動したら、次に「Visualizer」を開きます。

次に、「Commit to Amazon DynamoDB」からコミットしていきます。

コミットの前に、ローカルのDynamoDBに対するコネクションを作る必要があります。
以下のような設定を作ったら、「Commit」からコミットしましょう。

コミットすると「Operation builder」の画面が開きますので、作成したコネクションの「Open」からローカルのDynamoDBを開きます。

以下のようにローカルのDynamoDBのテーブル操作画面が開けば成功です。

さいごに

今回はNoSQL Workbenchについて、さわりのさわりを紹介させていただきました。
今後、NoSQL Workbenchを使用したテーブル設計に関する記事も書ければと思います。
特にデータ作成・表示において、今回使用していないファセット機能はデータモデル設計と深く結びついていたりしますので、紹介できればと思います。

以上です。


imai.kのブログ