[アップデート] NoSQL Workbench for Amazon DynamoDB にカスタムモデル向けのサンプルデータ作成機能が追加されました

2023.09.26

いわさです。

NoSQL Workbench for Amazon DynamoDB は、DynamoDB の設計・開発時に利用出来るクロスプラットフォームアプリケーションです。

この NoSQL Workbench for Amazon DynamoDB に、本日のアップデートでサンプルデータ作成機能が追加されました。

私はこれまで使う機会が無かったのですが、良い機会なので変更前後をドキュメントベースで比較しながらアップデートされた機能を使ってみることにしました。

インストールとモデル作成

GA されたのは冒頭の記事のタイミングで約 3 年前になるようです。
当時は macOS の場合は Homebrew を使ってインストールしていたようですが、公式ドキュメントではダウンロードリンクが提供されておりそちらから直接ダウンロードする手順になっています。

インストールが出来たら早速データモデルの設計を行います。
まずはプライマリキーのみの最小限なテーブルhoge0926tableを作成してみました。

サンプルデータ作成の新機能を使ってみる

データモデラーでテーブル設計を行い、ビジュアライザーでデータの作成などを行います。
今回追加された新機能はビジュアライザーの機能になります。

サンプルデータを作成したい対象テーブルを選択し、アクションメニューから「Add sample data」を選択します。

次にダイアログへ作成するデータの件数を入力します。

ここでは 1 から 5,000 件までの作成が出来るようです。
最大が 5,000 件ということで、あまり大規模なデータ作成用途ではないようですね。

デフォルトの 50 件のまま進めてみました。

一瞬で 50 件のサンプルデータが作成されました。
NoSQL Workbench はリモートの DynamoDB リソースと常に同期されているわけではないので、あくまでも本アプリケーション上にサンプルデータが作成された状態です。

モデルに Sample data format オプションを指定する

プライマリキーのみのためかランダムな文字列が 50 件作成された状態です。

別のモデルでいくつか属性を追加したものでもう一度試してみましょう。
そして次のように、各属性の追加時にサンプルデータフォーマット(Sample data format オプション)を指定してみます。

このオプションは、説明文によるとサンプルデータ生成時にのみ使われるオプション値のようで、設定可能な項目は次のようになっています。

  • Date
    • ISO 8601 date and time
    • Epoc/Unix date format
    • Month
    • Year
  • Identifiers
    • UUID
    • Full name
    • First name
    • Last name
    • Username
    • Email
    • Phone
    • Address
  • Internet
    • URL
    • Domain
    • IPv4
    • IPv6
  • Data Types
    • String
    • Int
    • Float
    • Boolean
    • JSON

Sample data format オプションを指定した状態でサンプルデータを作成してみると、次のようにオプションに従ってそれっぽいサンプルデータが作成されています。

良いですね。

従来のサンプルデータ作成方法

公式ドキュメントから読み解いてみたところ、従来は任意のモデルでサンプルデータを作成するための機能はなく、項目をひとつづつ手動で追加して作成する必要があったようです。

UI が以前とちょっと違うのですが次のようなイメージ。これは大変そう。

上記とは別でサンプルデータモデルという、サンプルモデルとサンプルデータがセットになったものをインポートすることも可能でした。

DynamoDB の性能測定とか、モデル形式にこだわらないサンプルの作成であれば従来のこの機能が使いやすそうですが、独自に設計したモデルに対してサンプルデータを作成したい場合は今回の機能が使えそうですね。

リモートの DynamoDB に同期もしてみた

今回作成したサンプルデータは NoSQL Workbench 上で作成されただけです。
なにか取り込みを行いたい場合は Coonect to Amazon DynamoDB からサンプルデータを含めたモデルの作成を行うことが出来ます。

ここでは DynamoDB へ作成してみましたが、DynamoDB Local をターゲットにすることも可能です。

ただ、この場合は DynamoDB テーブルの細かい設定が行えないのでご注意ください。
どういった設定で作成されるかなどについては次の公式ドキュメントに注意書きされています。

さいごに

本日は NoSQL Workbench for Amazon DynamoDB にカスタムモデル向けのサンプルデータ作成機能が追加されたので、実際にサンプルデータを作成して DynamoDB へ同期するところまで試してみました。

ポイントとしては Sample data format オプションを適切に設定しておく必要があるという点ですね。
また、簡単に小規模なサンプルデータ作成を行うことは出来ますが、大規模だったりあるいはデータパターンを指定するようなデータの作成方法は出来ないので簡易的な使い方に留めるようなイメージを持ちました。