DynamoDB に興味があったものの敷居が高いなと思っていたところ、DynamoDB も SQL で操作できるらしいと知ったので、試してみようと思います。(実際は、MySQL とまったく同じ構文ではなかったのですが、かなり近い書き方ができました。)
まずは、細かいことは置いといて、SELECT / INSERT / UPDATE / DELETE を実行してみようと思います。
■ テーブルを作る
早速、SQL でアクセスするために、MySQL 同様、データの入れ物になるテーブルを作ってみようと思います。DynamoDB の管理画面を見てみると、テーブルメニューがあったので、ここからテーブルを作ってみます。
テーブル名とパーティションキー(MySQL のプライマリーキーのようなもの)を指定するだけでテーブルは作成できました。パフォーマンス、メンテナンス、バックアップに関する設定なども細かくできるようですが、今回は、デフォルトのまま変更せずにテーブルを作ります。
パーティションキー:`productId`
として作成してみます。
■ テーブルにフィールド情報を追加
次は、フィールド情報(カラムや列情報)の追加かなと思っていたのですが、そもそもメニューが見当たらず?どうやら、データ(行)を追加するときに指定したフィールド名が、自動的に追加されることになるようです。
この前提の元
というデータを追加すると、productName というフィールドが作成されます。
この状態で、
というデータを追加すると、productType というフィールが追加されます。
この点、ちょっと躓きました。
■ SQL によるデータ操作
テーブルができたので、実際にSQLでデータを操作してみようと思います。管理画面から、SQL を実行することができるので、今回は、その状態で試してみます。
■ データの追加
ちょっと構文が違いますが、感覚的には SQL と同じような感じです。
登録したデータは管理画面から参照できました。ちゃんと、3つフィールドができてました。
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ql-reference.insert.html
■ データの削除
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ql-reference.delete.html
■ データの更新
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ql-reference.update.html
■ データの選択
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ql-reference.delete.html
まずは、最初の一歩は踏み出せたかもしれません。次は、AWS-SDK などを試してみようと思います。あと、記事書いていて思ったのですが、この記事のタイトルは「Dynamo で、SQL 互換の PQL(PartiQL) を使ってみる」の方がいいのかも?と、思ったりもしました。