トップ OSS紹介 InfluxDB

InfluxDB

NRIのOpenStandiaが提供するInfluxDB詳細情報

InfluxDB情報

InfluxDB情報更新日:2025/12/09

InfluxDB とは

InfluxDBはオープンソースの時系列データベース(Time Series Database)です。
時系列データベースとは、ログなどの時間を軸とした連続したデータを蓄積・検索することに特化したデータベースです。
IoT分野における大量のセンサデータやクラスタリングされたサーバ群の出力する各種メトリクスやログを蓄積する用途において、従来のデータベースよりも高いパフォーマンスを発揮します。
InfluxDBはInfluxData社が中心となって開発が進められています。
以前のInfluxDBはストレージエンジンとしてLevelDB、 RocksDB、 BoltDBなど既存のデータベースを利用していました。
しかし、2015年10月にオリジナルのストレージエンジン TSM(Time-Structured Merge Tree )が開発されました。
TSMの構造はApache HBaseなどで使われているLSM (Log-Structured Merge Tree)と似ていますが、より時系列データの取り扱いに最適化されており、これがInfluxDBの性能向上に寄与しています。

InfluxDBの製品体系は以下の通りです(InfluxDB 3のみ掲載)。

製品名

料金体系

管理形態

ユースケース

InfluxDB Core

無償

セルフマネージド

基本的な時系列データ管理。
IoTやセンサデータ、システム監視、アプリケーションメトリクスなど、シンプルな構成の環境を対象にしたコア機能。

InfluxDB Enterprise

有償

セルフマネージド

セキュリティや可用性、バックアップ・災害対策を重視した企業向け環境を想定。
ミッションクリティカルな業務システム、IoTプラットフォームの基盤として利用可能。

InfluxDB Clustered

有償

セルフマネージド

大規模データの分散処理や高負荷に対応。複数ノードによるクラスタ構成で、高可用性・耐障害性・スケーラビリティが必要な企業やサービス運用の時系列データ分析に対応。

InfluxDB Cloud Serverless

有償

フルマネージド

サーバレス環境で小規模〜中規模用途まで手軽に運用可能。
インフラ管理不要で柔軟なスケーリング(トラフィック増への自動対応)が可能。PoC、モバイル/Webアプリのデータ集計などに適している。

InfluxDB Cloud Dedicated

有償/無償のいずれかを選択

フルマネージド

専用リソース環境でのクラウド運用。
運用管理の自動化、拡張性・柔軟なセキュリティ設定が求められるSaaS/PaaSサービス・AI/機械学習用の大量時系列データの保存。

(参考)https://docs.influxdata.com/

主な特徴

時系列データに特化した高パフォーマンス

InfluxData社はElasticsearch, Cassandra, MongoDBなど時系列データに特化していない製品との間でベンチマーク評価を行い、時系列データに関する書き込み、読み込み、データ圧縮などの観点でInfluxDBがどの製品よりも高いパフォーマンスを発揮しているとしています。

また、同じ時系列データベースであるOpenTSDBとの比較においても高いパフォーマンスを発揮しているとしています。

クエリ言語のサポート

InfluxDBではInfluxQLというクエリ言語を使ってデータ操作を行うことができます。
InfluxQLの文法はSQLと似ているため、SQLの知識があれば比較的容易に利用することが可能です。
InfluxQLではSELECT、INSERT、DELETEコマンドを使うことができますが、UPDATEコマンドはありません。
InfluxDBのドキュメントにおいても InfluxQLは完全なCRUDではなくCR-udであり、Create(INSERT)とRead(SELECT)が優先とされています。
DELETEは存在しますが、単一レコードの削除より期限切れデータの一括削除を主に想定しています。
また、COUNTやDISTINCT、SUMといった関数を用いることができます。

クライアントインタフェース

InfluxDBでは2種類のクライアントインタフェースが用意されています。

  • CLI(コマンドラインインタフェース)
  • REST API

CLIではシェルからinfluxdb3 コマンドを使って実行します。
REST APIではInfluxDBに対してHTTPリクエストを発行します。
InfluxDBのデフォルトポートは8181で、クエリ結果はJSON形式、CSV形式で返されます。
具体的なInfluxDBへのアクセス手順は以下のようになります。

①認証トークンを取得


$ influxdb3 create token --admin

New token created successfully!

Token: <トークン文字列>
HTTP Requests Header: Authorization: Bearer <トークン文字列>

IMPORTANT: Store this token securely, as it will not be shown again.

②認証トークンを環境変数に設定


$ export INFLUXDB3_AUTH_TOKEN=<①で取得したトークン文字列>

③ InfluxDBへアクセス

コマンド実行例としてデータベースの一覧を表示させます。

CLI を使ったアクセス


$influxdb3 show databases --token $INFLUXDB3_AUTH_TOKEN
+---------------+
| iox::database |
+---------------+
| _internal |
| mydb |
+---------------+

REST APIを使ったアクセス


$ curl "http://localhost:8181/api/v3/configure/database?format=jsonl" --header "Authorization: Bearer $INFLUXDB3_AUTH_TOKEN"

{"iox::database":"_internal"}
{"iox::database":"mydb"}

クラスタリング機能(Cloud/Enterprise)

InfluxDBはHA(高可用性)および分散運用に対応するクラスタリング機能を持っています。
v1.1までは各製品にアルファ版として機能提供されていましたが、v1.2以降はEnterprise版などの有償版に対して提供されています。

類似製品

InfluxDBと同じ時系列データベースには下記のような製品があります。

  • OpenTSDB - Hadoop/HBase上で稼働
  • KairosDB - OpenTSDBのフォークで、ストレージエンジンにCassandraを使用
  • Prometheus - システムメトリクスの蓄積、モニタリングに特化
  • DalmatinerDB - ストレージエンジンにRiakを使用

動作環境

InfluxDBはGo言語で実装されており、ユーザ自身でビルド可能です。
また、下記OS向けにはビルド済みのバイナリも提供されています。

  • 各種Linux
  • macOS
  • Windows

InfluxDBのライセンス

InfluxDBは「MITライセンス」または「Apache 2.0ライセンス」のいずれかをユーザーが選択できる形で提供されています。

参考情報

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • PostgreSQL
    サポート対象

    PostgreSQL

    ポストグレエスキューエル。多くのOS・プラットフォームで稼動するオープンソースのリレーションナルデータベース管理システムです。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。