データモデルについて
テーブルの種類
RawData
データ連携等で外部サービスのデータを連携する場合、そのデータを保存しておく領域です。 データを加工する際にこのデータから行うことで連携とその後のプロセスを分離することができ、作業分担や責任分解が容易になります。
TxnData
データは常に新規に追加されます。IoTデバイスのセンシングデータなどを分析のために蓄積する場合などに用います。
TopData
最新値を保存するためのテーブルです。データの基本的なCreate,Read,Update,Deleteが行えるためアプリケーション用のデータを保存するために用います。
テーブル | 仮想化 | 保存方法 | 用途 |
---|---|---|---|
RawData | 無 | 常に新規 | 連携元データの保存用。再活用する際に有効な役割を果たします。データの蓄積と処理を明確に分離することで、運用・障害時に、責任の分解が容易になります。 |
TxnData | 有 | 常に新規 | 他システム・デバイスなどのセンシングデータ |
TopData | 有 | CRUD | アプリケーション用データ |
保存されるデータの構造
TxnDataとTopDataはNewtZeroによってAsset情報とMetrics情報を活用し、以下の構造でデータベースに保存されます。
データ構造
{
bases:{
...
},
contents:{
rawdata:{
...
},
optdata:{
...
}
}
}
データ構造の説明
フィールド | 役割 | 説明 |
---|---|---|
bases | データの属性情報 | Assetのタグや、作成、更新日時などデータの属性を示す基本情報が挿入されます。 |
contents.rawdata | 受け付けたデータそのもの | 受け付けたデータがそのまま挿入されます。 |
contents.optdata | Metricsによりされたデータ | Metrics情報に基づき仮想化された構造でデータが挿入されます。開発者はMetricsカタログをもとにデータを読み込むことができるため、扱いが容易になる他、数値や文字が誤って保存されることを防止します。 |