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

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

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

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

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

「Amazon DynamoDB」とつないでみた

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

「DynamoDBって何?」という方にはこちらの記事もおすすめです。

なお、ASTERIA Warpでも先日エクスペリメンタルビルドを発表してたりもします。

そんなわけで、今回はDynamoDBにつないでみます。

テーブル設計

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

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

Setting

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

データの投入

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

Insert

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

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

before

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

after

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

データの取得

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

GetData

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

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

Result

最後に

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

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

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



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
簡単データ連携を体験してみよう!

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:森 一弥

著者:
森 一弥

ASTERIA Warpシリーズ担当のシニアプロダクトマネージャー。ホワイトペーパーの執筆のほか、開発経験を活かしたASTERIA Warpを使ったデモ作成等を実施。

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

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

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

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

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

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

ページ先頭へ