InfluxDBのネット情報を調べました
1.概要
時系列のdatabaseであるInfluxDBに関して少し調べてみました。時系列データの処理性能に優れたdatabaseとのことです。まず、ネット上の評価から調べてみることにしました。その内容を記述します。
2.詳細
参考資料によるとRDBがTableとRowとColumnを利用するのに対して、InfluxDBはmeasurementとpointとTimeとTagとFieldを利用します。少し複雑な感じです。pointに含まれる要素がTime以外は必須でない点が特徴のようです。
RDBはCRUD(Create,Read,Update,Delete)の操作ができますが、InfluxDBはCR(Create,Read)でUD(Update,Delete)は制限された機能しか利用できません。
RDBの操作はSQLですが、InfluxDBの操作はInfluxQLとFluxがあり、InfluxQLはSQLに似ています。私が調べた範囲ではInfluxDB v1はInfluxQL、InfluxDB v2はFluxを利用するのが基本のようです。
DockerHubのInfluxDBを調べるとv1系の方が利用されている気がします。v2系もリビジョンは上がっていますが、主流化になっていな気がします。v3はenterpriseと記述されているので有償かもしれません。拡張性のあるクラスタ構成は有償版でサポートされるとの記載もありました。
気になった点はInfluxDBには上限が設定されており、系列の総数がデフォルトで100万に制限されているようです。 この上限を増やすことはできますが、系列数がこの上限を超えるとのパフォーマンスが低下するとのことです。時系列データは秒単位で24時間処理すると3600*24=86400件、100万件に達するには1000000/86400=11.57日となり、余りにも短い気がします。
InfluxDBとPostgreSQLの性能評価の参考資料を参照した範囲では、InfluxDBが汎用的な処理に優れている気はしません。時系列データを活かした処理に利用すると性能を発揮する気がしました。
参考
[外部サイト参照]
・RDBエンジニアから見たInfluxDB
・influxdb
・時系列DBに入門しつつ、パフォーマンスを計測してみる(InfluxDB v2 vs PostgreSQL v15)
コメント
コメントを投稿