コンテンツにスキップ

1.1 Machbase DBMS の概要

Machbase DBMS は、センサー計測値、設備イベント、アプリケーションログなど、時間とともに蓄積する データを保存し、SQL で検索・分析する時系列データベースです。データの構造と変更・クエリ方式に 適したテーブルを選び、元の履歴と参照データを組み合わせて管理します。

Machbase DBMS の紹介

データベースと SQL の役割

データベースはアプリケーションが収集したデータを一定の構造で保存し、複数の処理で再利用できるようにします。 DBMS は、データの読み書き要求、ユーザー権限、保存領域を管理するソフトウェアです。

テーブルは、同じ構造を持つレコードの集まりです。行は1件のイベントや計測を表し、列は時刻、 設備名、計測値などの項目を表します。列には数値、文字列、日時などのデータ型を指定します。 このように定義した構造をスキーマと呼びます。

例えば、温度履歴は次のように表せます。以下の時刻と値は概念説明用です。

計測対象計測時刻温度
設備 A の温度センサー09:00:0023.1
設備 A の温度センサー09:00:0123.5
設備 B の温度センサー09:00:0118.0

SQL はデータを操作する言語です。CREATE でテーブルを作成し、INSERT で行を追加し、 SELECT で必要な行と列を読み出します。WHERE は検索条件、GROUP BY は集計単位、 ORDER BY は結果の並び順を指定します。同じ SQL を使っても、サポートされる変更操作と 保存特性はテーブルタイプによって異なります。

現在の状態と時系列履歴

「設備 A の現在の温度は何度か」と「過去1時間に温度がどう変化したか」は異なる問いです。 現在値だけを上書きし続けると、過去の変化は分かりません。各計測値に時刻を付けて新しい行として 保存すれば、推移、最大値、異常の発生時刻を分析できます。

時系列システムでは、この履歴が増え続けます。入力速度だけでなく、どの対象のどの時間範囲を 検索するか、元データをどれだけ保持するかも設計する必要があります。計測値が必ず一定間隔で 到着するとは限りません。ネットワーク遅延、設備停止、再送信によって遅延到着や欠測が生じます。

計測値、イベント、参照データ

計測値は、ある対象がある時刻にどのような値を持っていたかを表します。イベントは、アラーム、 設備停止、サービス開始など、何かが発生した事実を記録します。設備名、設置場所、計測単位は、 その記録を解釈するための参照データです。

これらは1つのシステムで併用します。温度異常の分析には、温度履歴だけでなく、同じ時刻の アラームとセンサーの設置場所も必要です。SQL の結合(JOIN)は、設備コードなどの共通値を 使って履歴と参照データを関連付けます。

Machbase で解決する課題

Machbase の時系列機能は、次の処理を組み合わせる場合に利用できます。

作業関連機能
元の履歴を収集センサー計測値と設備イベントを継続的に保存TAG・LOG、SQL 入力、SDK Append
必要な範囲を検索設備 A の直近1時間の温度変化を確認タグ・時間条件、インデックス、実行計画
統計を繰り返し取得長期間の分・時間単位の推移を比較TAG ROLLUP
データを解釈センサーコードに設備名と場所を関連付け参照データ、JOIN
保持期間を管理保持期間を過ぎた元データを削除対応テーブルの Retention Policy
障害に備えて保護バックアップと復旧手順を検証Edition 別のバックアップ・復旧機能

ROLLUP は元データから区間統計を計算します。圧縮は保存に必要な領域を削減する技術、 Retention Policy は古いデータを削除するポリシーです。それぞれ目的が異なり、集計があるだけで 元データを削除してよいわけではありません。

必要な性能は、データ型、入力量、同時クエリ、保持期間、サーバーリソースによって変わります。 小さな演習で操作を学んだ後、実データと実際の検索条件でスループットと遅延を測定してください。 各機能の役割は基本概念で詳しく説明します。

データに適したテーブルの選択

テーブル主な用途選択時の確認事項
TAGタグ名と時間・距離軸を持つ計測履歴特定タグの範囲検索と集計が中心か確認します。
LOG複数項目を持つイベント・ログ履歴新しい記録を追記し、時間条件や検索条件で読み出すか確認します。
LOOKUP設備コードやマッピングなどの永続的な参照データメモリに読み込むデータのサイズと変更方式を確認します。
TRANSACTION行単位の変更とトランザクションを必要とする業務データStandard Edition で関係型 DML とトランザクションが必要か確認します。
VOLATILE再起動後に再生成できる共有状態サーバー停止でデータが消えても復元できるか確認します。

Machbase DBMS 8.7.0 では、LOG テーブルを CREATE LOG TABLE と明示して作成します。 タイプを省略した CREATE TABLE は TRANSACTION テーブルを作成します。TRANSACTION は Standard Edition でサポートされます。

業種だけでテーブルを決めることはできません。変更、結合、保持の要件を含む最終的な選択は、 テーブルタイプの選択で確認してください。

続いて、10分クイックスタートでイベントを1件保存し、読み出してみましょう。

最終更新日