【クエストディービー】

QuestDB とは?

公開:
💡 時系列データの嵐を、SQLのまま秒で捌くスピードスター
📌 このページのポイント
QuestDB — 時系列データの高速処理 センサーデータ 09:00:01 23.5℃ 09:00:02 23.6℃ 09:00:03 23.4℃ QuestDB 列指向ストレージ 時刻 09:00:01 09:00:02 09:00:03 温度 23.5 23.6 23.4 デバイス sensor1 sensor1 sensor2 SQL クエリ SAMPLE BY 1h Grafana ダッシュボード 列指向で集計クエリが超高速! 同じ列をまとめてスキャンするため、時系列の平均・最大値集計が数倍速くなる
QuestDBの列指向ストレージが時系列データを高速に集計するイメージ
ひよこ ひよこ
ペンギン先生、時系列データベースって普通のDBと何が違うの?
ペンギン先生 ペンギン先生
センサーの温度ログや株価のティックデータみたいに「時刻とセットで大量に届くデータ」を効率よく保存・検索するために最適化したDBだよ。普通のRDBだと大量の時刻データを扱うと遅くなるんだ。
ひよこ ひよこ
QuestDBはSQLが使えるって聞いたんだけど、それって普通と同じなの?
ペンギン先生 ペンギン先生
基本的には普通のSQLが使えるよ。さらに `SAMPLE BY 1h`(1時間ごとに集計)や `LATEST ON timestamp PARTITION BY device` みたいな時系列専用の便利な構文も使えるんだ。
ひよこ ひよこ
列指向って何なの?行指向と何が違うの?
ペンギン先生 ペンギン先生
行指向はレコードを横一列で保存するけど、列指向は同じ列のデータをまとめて保存するんだよ。「先週の温度の平均を出して」みたいな集計クエリは列ごとのデータをまとめて読むから、列指向の方がずっと速いんだ。
ひよこ ひよこ
IoTや金融以外にはどんな使い方があるの?
ペンギン先生 ペンギン先生
アプリのパフォーマンス監視ログ・広告クリックストリーム・ゲームのプレイヤー行動ログなど、タイムスタンプ付きの大量ログを分析したい場面ならどこでも使えるよ。Grafanaと組み合わせてダッシュボードにするのが人気なんだ。
ひよこ ひよこ
InfluxDBとはどう違うの?
ペンギン先生 ペンギン先生
InfluxDBは独自のFluxクエリ言語が必要だけど、QuestDBはSQLをそのまま使えるのが大きな違いだよ。RDBの経験があればほぼ学習コストなしで使い始められるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「QuestDB」って出てきたら「時系列データ専用の超高速SQLデータベース」と思えればだいたいOK!
📖 おまけ:英語の意味
「QuestDB」 = Quest(探求)+ Database の造語
💬 データの中から答えを素早く「探求(quest)」するという意味を込めた名前なんだよ
← 用語集にもどる