データストアの概要
データストアとは
データストアは、JSONデータを保存する機能です。
データストアでは、JSONデータを格納するためのテーブルを定義します。テーブルに対して複数のJSONデータを保存でき、個々のデータをアイテムと呼びます。
テーブルを利用するパターンを以下に示します。
- クラウド/エージェント実行環境にデプロイしたNode-REDフローからアイテムの読み書きを行う
- InfoMotionで可視化するデータの参照元として利用する
また、アイテムの追加/更新/削除が実施されたことをトリガーにクラウド実行環境のフローを実行できます。たとえば、テーブルに追加されたデータの値が一定値以上であればユーザーに通知を行う、といった処理を行いたい場合に有用です。
開発を効率化するために、以下のパターンで利用することもできます。
- フローエディター/enebular editor上で編集中のフローから読み書きを行う
- enebularのUIを通してテーブルに存在するデータの参照および書き込みを行う
上で示したテーブルを利用するパターンは、同じプロジェクトからのみ実行できます。
フローからの開発についてはデータストアを利用するフローの作成をご参照ください。
enebularのUIからの管理操作についてはデータストアの管理をご参照ください。
テーブルに保存するアイテム
テーブルに保存するアイテムは、メインキー(必須)とサブキー(任意)を含みます。
メインキーは、主にデータの種類を表すために利用します。サブキーは、検索やソートに用いるキーであり、数値か文字列かのいずれかを指定できます。
たとえば、InfoMotionで可視化するデータは以下の形式になります。
{
"ts": Unix Timestamp milliseconds since Jan 01 1970. (UTC),
"category": String,
"value": Number
}
テーブルに可視化するデータを保存する場合は、上記のcategory
がメインキーとなり、ts
がサブキーになります。
メインキーとサブキーの組み合わせはテーブル内でユニークでなければなりません(メインキーのみのテーブルの場合は、メインキーがテーブル内でユニークである必要があります)。
テーブルの操作機能
テーブルに対してNode-REDのフローから実施できる操作は以下の4種類です。
- アイテムの追加・更新
JSONデータをテーブルに追加します。 - アイテムの参照
テーブルからアイテムを取得します。 - アイテムの削除
テーブルに格納したアイテムを削除します。 - アイテムの検索
テーブルからアイテムを検索して取得します。検索では、メインキーの値(任意)とサブキーの値(条件指定)を行って、条件にマッチするアイテムのリストを取得します。
利用制限
データストアは、プロジェクトプランに応じて利用制限があります。
プロジェクトプラン毎の制限値と制限値を超えた場合の振る舞いおよび制限解除タイミングを以下に示します。
エンタープライズ | トライアル/フリー | 制限値を超えた 場合の制約 | 制限解除タイミング | |
---|---|---|---|---|
作成できるテーブル数 | 100 | 10 | テーブル追加不可 | なし |
保存データサイズ(GB) | 10 * | 0.1 | 追加・更新・リストア不可 | 制限値以下になるように データの削除を実施 |
アクセス数(回) | 3,000,000 * | 10,000 | 全アクセス不可 | 次月1日の深夜1時頃に解除 |
*: システム上は制限していません
各制限値はプロジェクト毎の制限値であり、特定のテーブルのみにデータ量やアクセスが集中してもテーブル全体で上限を超えなければ利用し続けられます。
保存データサイズとアクセス回数の制限値の80%および100%を超えた場合にプロジェクトの所有者に対してメールで通知します。この制限値のチェックは、1時間に1度実施するため、通知は、実際に制限値の80%または100%を超えてから1時間以内に送信されます。
制限値の引き上げが必要な場合はお問い合わせください。
注意事項
データストアの制約事項を以下に記載します。
- 1アイテムとして保存できるJSONデータの上限サイズは、約350KBです
- エージェント実行環境からデータストアと送受信できるデータの上限サイズは128KBです(エージェントコネクト機能を利用しているため)
- フローからのアクセスだけでなく、InfoMotionからのアクセス、enebularのUIからのアクセスに対してアクセスカウントが上限に達したかどうかの確認を実施します