1.1 Machbase DBMS の概要
Machbase DBMS は、センサー計測値、設備イベント、アプリケーションログなど、時間とともに蓄積する データを保存し、SQL で検索・分析する時系列データベースです。データの構造と変更・クエリ方式に 適したテーブルを選び、元の履歴と参照データを組み合わせて管理します。
Machbase DBMS の紹介
データベースと SQL の役割
データベースはアプリケーションが収集したデータを一定の構造で保存し、複数の処理で再利用できるようにします。 DBMS は、データの読み書き要求、ユーザー権限、保存領域を管理するソフトウェアです。
テーブルは、同じ構造を持つレコードの集まりです。行は1件のイベントや計測を表し、列は時刻、 設備名、計測値などの項目を表します。列には数値、文字列、日時などのデータ型を指定します。 このように定義した構造をスキーマと呼びます。
例えば、温度履歴は次のように表せます。以下の時刻と値は概念説明用です。
| 計測対象 | 計測時刻 | 温度 |
|---|---|---|
| 設備 A の温度センサー | 09:00:00 | 23.1 |
| 設備 A の温度センサー | 09:00:01 | 23.5 |
| 設備 B の温度センサー | 09:00:01 | 18.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件保存し、読み出してみましょう。