概要
InfluxDBは2013年にGo言語で開発されたオープンソースとして時刻情報を主キーとしたデータを扱う時系列データベースです。
v1.x、v2.x、v3.xバージョンが存在して最新v3.xはRust言語で開発されています。
時系列データベースの目的としてはデータの挿入は照会であり、時間に対してのデータの処理です。
Azureの場合、「Azure Data Explorer」となります。
用語整理
InfluxDBとリレーションデータベース(RDB)との比較です。
RDB | InfluxDB |
---|---|
Database | Database |
Table | Measurement |
Column | Key |
Indexed Column | Tag Key |
Unindexed Column | Field Key |
Row | Point |
v1.x系の公式ドキュメント
v1.x系の調査関連InfluxQL (Influx Query Language)
データベース一覧
データベースの一覧を出力するコマンドです。
_internal
は最初から存在するシステム用のデータベースで、mydb
はユーザーが作成したデータベースとなります。
> SHOW DATABASES
name: databases
name
----
mydb
_internal
データベースの指定
接続中にデフォルトで利用するデータベースを指定するコマンドです。
デフォルトとなるデータベースを指定しないと毎回クエリでデータベースを明示的に指定する必要があります。
> use mydb
Using database mydb
メジャーメント一覧
メジャーメントの一覧を出力するコマンドです。
USEのデータベース指定ができてなければデータベース指定が必要があります。
> SHOW MEASUREMENTS
name: measurements
name
----
measurement_1
measurement_2
現在実行中のクエリ一覧
> SHOW QUERIES
qid query database duration status
--- ----- -------- -------- ------
6 SHOW QUERIES mydb 0s running
タグキーの一覧
> SHOW TAG KEYS
name: measurement_1
tagKey
------
key_type
name: measurement_2
tagKey
------
key_type
タグキーの値一覧
> SHOW TAG VALUES WITH KEY = "key_type"
name: measurement_1
key value
--- -----
key_type 2
name: measurement_2
key value
--- -----
key_type 2
Retention Policies
一定周期ごとにデータを自動的に削除するポリシーを確認します。
v2系ではRetention Periodを代わりに提供されます。
> SHOW RETENTION POLICIES
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
short 24h0m0s 1h0m0s 1 false
long 8760h0m0s 24h0m0s 1 false
Continuous Queries
一定周期ごとにデータを処理して新しいメジャーメントに保存する(ダウンサンプリング)クエリを確認します。
v2系ではTask를を代わりに提供されます。
> SHOW CONTINUOUS QUERIES
name: _internal
name query
---- -----
name: mydb
name query
---- -----
Series
組み合わせ可能なタグキーの集合したものです。
たとえば、MemberというMeasurementに名前と年齢がTag Keyとして指定されている場合、保存されているすべてのデータの中で可能な名前と年齢のセットがSeriesです。
> SHOW SERIES