メインコンテンツへ
データベースDB実践

時系列データベース(TSDB)に関する説明として、最も適切なものはどれか。

ア.時系列DBはタイムスタンプを主キーとして特化した格納構造を持ち、センサーデータ・メトリクス・ログなどの高頻度書き込みと時間範囲集計クエリに最適化されている。正解
イ.時系列DBはグラフ構造でデータを管理するため、ノード間の時間依存関係を追跡するシステムに向く。
ウ.時系列DBはRDBと異なりインデックスを使わないため、書き込みは高速だが検索は全件スキャンになる。
エ.時系列DBはデータを削除せず追記のみを行うため、ストレージが無制限に増加し続ける設計になっている。

解説

時系列DBは「タイムスタンプ付きのデータを猛スピードで飲み込みながら、後から「3時間前から今の平均は?」と即答できる」専門家。IoT・モニタリングシステムにとっては神様みたいな存在。

なぜ ア が正解か

アが正解。InfluxDB・TimescaleDB・Prometheusが代表例。タイムスタンプ順の追記(Append-only)と圧縮に最適化されており、毎秒数万件のセンサーデータ書き込みに耐えられる。ダウンサンプリング(粗い粒度に集約)・保持ポリシー(古いデータの自動削除)などTSDB特有の機能も持つ。

なぜ イ は間違いか

グラフ構造でデータを管理するのはグラフDB(Neo4j等)の特徴。時系列DBはタイムスタンプをキーとした線形構造が基本。

なぜ ウ は間違いか

時系列DBはタイムスタンプベースの専用インデックス(LSMツリーやBツリー変種)を持ち、時間範囲クエリを高速化している。全件スキャンになるというのは誤り。

なぜ エ は間違いか

TSDBは保持ポリシー(Retention Policy)やダウンサンプリングにより古いデータを自動削除・圧縮する機能を標準で持つ。無制限増加は設計意図と逆。

出典: AI生成問題(学習用)