ASTERIA Warp 製品ブログ

【つないでみた】Amazon DynamoDBとつないでみた

【つないでみた】Amazon DynamoDBとつないでみた 多くの方はデータベースといえば、リレーショナル・データベース(RDB)を思い浮かべることでしょう。行と列のある表形式のデータと、それぞれの関連を情報として持ったデータベースで、Oracleが一番メジャーでしょうか。

でも、データベースはこれだけじゃありません。他にもいろいろものがあるんです。
その中でも、キーバリューストアー(KVS)というものをご存知でしょうか?

データの名前(Key)と値(Value)からできたシンプルなもので、大量のデータを素早く扱うことができます。代表例としては、スマホゲームなどで多く使われており、大量のユーザーがリアルタイムにアクセスするようなケースに向いているようです。

さて、そのKVSをちょっと便利に拡張したものとして、Amazon のサービス「DynamoDB」というものを今回は取り上げてみましょう。

DynamoDBって何? という方にはこちらの記事もおすすめです。
DynamoDBをKVS(key-value-store)として活用 ~各種システムとのデータ連携でNoSQLのメリットを有効活用!

なお、ASTERIA Warpでも先日エクスペリメンタルビルドを発表してたりもします。
そんなわけで、今回はDynamoDBにつないでみます。

テーブル設計

まずはDynamoDBのテーブルを作ります。
DynamoDB は、Keyを2つ持てるのが特徴となります。
「ハッシュ」と「レンジ」というものですが、ハッシュの方はデータをクラス分けできるようなもの、レンジは範囲なので、日時などを指定するのが一般的でしょうか。

そこで、今回は「震源地」を「ハッシュ」、「地震の発生日時」を「レンジ」としてテーブルを作成しました。
それ以外の項目はデータを入れる際に柔軟にやってくれるのでそのまま進みましょう。



上記以外にも設定項目はありますが、本ブログの趣旨ではないので詳しく知りたい方はAWSのページをご覧ください。

データの投入

今回のデータは、以前「Tableauとつないで地震情報を見てみた」の記事で使ったものと同じ、地震情報を入れてみたいと思います。
フローは前のものをコピーして、最後の保存先をDynamoDBにしただけです。



データを入れるときに柔軟にやってくれると書いて、先送りにしたデータの項目ですが、ハッシュとレンジ以外は、DynamoDBのコンポーネントに渡したストリームがそのまま使われます。
要するに最初の2項目はハッシュとレンジに設定した項目名と合わせ、それ以外は何でも入るので、好きに使っていただいてOKです!
なので、「データベース設計などで今後拡張されるかもしれないしー」とか悩んだりしなくて良いわけです。
ただ項目名に使えるのはアルファベットと一部記号だけみたいなので、そこは気をつけましょう。

実行してAWSのコンソールから見てみると、ストリームの項目が追加されているのがわかります。




1週間前から「震度(shin-do)」の項目が追加された想定で、ストリームに追加して実行してみました。



列が追加され、直近の7日間のレコードにデータが差し込まれました。
このような感じで、テーブル設計を気にせずストリームを変えるだけで保存されるデータを変えていくことができます。

データの取得

続いてデータを取得する方も作ってみましょう。



欲しいデータ項目をストリームに設定すればそのデータを取得できます。
ハッシュとレンジに対しては簡単な検索条件をつけることも可能です。
フローとしては上記のようにだいぶ簡単なもので十分です。

実行するとレコードで返ってくるので、他のシステムと連携するなり、この先はASTERIA Warpをお使いの方でしたら簡単にできますね。




まとめ

なかなかKVSに触れる機会はないかもしれませんが、ASTERIA Warpを使えば簡単ですし、項目の増減にもマッピングの差し替えだけで対応できます。

企業向けのシステム構築をご検討中の方、データベースはRDBで進めることが多いのではないかと思います。
でももし新規でシステムを考えているのであれば、ほんとにそれってRDBが最適なの?とちょっと考えてみるのもいいかもしれません。
もしかしたら、より効率的なシステムが作れるかもしれません。

ASTERIA Warpを使えば、その構築も簡単です。
是非、新しい技術も試してみてください!

AWS Test Driveのクラウド上でASTERIA Warpを試してみる >>
AWSのTest Drive上でASTERIA Warpとはどういったものかを簡単にお試しいただけます。
この機会にぜひASTERIA Warpを試してみませんか?
【ASTERIA Warp 事例集】業務自動化/RPA、EAI、マスターデータ管理、クラウド連携・・・業務効率化・データ活用事例をまとめ読み

ASTERIA Warp関連サイトのご紹介

X

<技術情報をお探しの方>

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X

<ASTERIA Warpユーザーの方>

ASTERIA Warpユーザーグループ
(AUG)サイト

ASTERIA Warpユーザー同士の交流の場として、各種イベント案内や開催レポートを掲載しています。

X

<ASTERIA Warpユーザーの方>

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X

<ASTERIA Warpパートナーの方>

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。