LindormTSDB のデータベースは、プロジェクト間でデータを分離し、コールド/ホットデータ階層化や Time To Live (TTL) に基づく保持などのライフサイクル機能を提供します。
データベースとは
実行中の各 LindormTSDB インスタンスは、データが相互に分離された 1 つ以上のデータベースを管理します。各データベースには、複数の時系列テーブルが含まれます。LindormTSDB のデータ階層は次のとおりです:
用語の定義については、「用語集」をご参照ください。
分離が必要な無関係のプロジェクトのデータを格納するには、プロジェクトごとに個別のデータベースを作成し、対応するアクセス制御ポリシーを設定します。複数のデータベースにまたがってデータにアクセスするには、ターゲットデータベースの必要な アクセス許可 が必要です。
データベースの管理
LindormTSDB は、データベースを管理するために、次の SQL 操作をサポートしています:
|
アクション |
説明 |
SQL 構文 |
|
作成 |
LindormTSDB に新しいデータベースを作成します。 説明
新しいデータベースのアクセス許可をユーザーに付与する必要があります。デフォルトでは、ユーザーはアクセス権を持っていません。 |
|
|
削除 |
既存のデータベースを削除します。 |
|
|
プロパティの変更 |
既存のデータベースのプロパティ (コールド/ホットデータ境界や TTL など) を変更します。 |
|
|
プロパティの照会 |
既存のデータベースの構造を表示します。 |
データベースライフサイクルの管理
データベースは、時系列テーブルのコレクションです。ビジネスコンテキストが類似している時系列テーブルを同じデータベースにグループ化することで、データを分離できます。LindormTSDB は、次のデータベースレベルの機能を提供します:
コールド/ホットデータ階層化ポリシーの設定
データベースレベルで コールド/ホットデータ境界を設定 できます。システムは、この境界に基づいてデータを自動的にアーカイブします。
データ保持ポリシー (TTL) の設定
データベースレベルでデータの Time To Live (TTL) を設定できます。LindormTSDB は、指定された TTL より古いデータを自動的に削除します。
CREATE DATABASE ステートメントを使用してデータベースを作成するときに TTL を設定するか、コンソールで TTL を設定できます。
コンソールでのデータベースライフサイクルの管理
Lindorm コンソールのDatabase Managementページで、データベースのコールド/ホットデータ境界とデータ保持ポリシーを設定できます。
[データベース管理] ページで、各データベースのデータ保持ポリシーとコールド/ホットデータ境界を確認します。[操作] 列で対象のデータベースの [管理] をクリックし、[コールド/ホットデータ境界の設定] または [データ保持ポリシーの設定] を選択します。
-
時系列データのタイムスタンプは、通常、次の 2 つのカテゴリに分類されます:
-
イベント時刻:データポイントに対応する実世界のイベントが実際に発生した時刻。「時系列データの要素」で説明されている時系列データモデルのタイムスタンプは、イベント時刻を指します。
-
取り込み時刻:データポイントがデータベースに書き込まれた時刻。
データ階層化とデータ保持ポリシーはどちらも イベント時刻 に基づいています。取り込み時刻に基づくポリシーはサポートされていません。
-
-
コールド/ホットデータ境界と TTL の両方を設定した場合、LindormTSDB は TTL を超えたアーカイブ済みのコールドデータも削除します。
-
TTL を超えるタイムスタンプを持つデータを書き込んだ場合、書き込み操作は成功しますが、そのデータを照会することはできません。
よくある質問
詳細については、「LindormTSDB FAQ」をご参照ください。
書き込んだデータが照会できない
データに TTL が設定されているかどうかを確認してください。書き込まれたデータのタイムスタンプが TTL を超えている場合、データは書き込み直後に削除されるため、クエリ結果は空になります。
データアーカイブと TTL クリーンアップの遅延
LindormTSDB でのコールドデータのアーカイブと TTL に基づくデータクリーンアップは、非同期のコンパクションタスクによって実行されるため、すぐに反映されない場合があります。コンパクションキューに多くのタスクがある場合、クリーンアップタスクが待機する場合があります。