OSS紹介

InfluxDB

InfluxDB最新情報

NRIのOpenStandiaが提供するInfluxDB最新情報

InfluxDBの保守サポートサービスの内容はこちら InfluxDBの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

InfluxDB最新トピック

すべてを見る

InfluxDBバージョンアップ情報

■2017-11-24
[VerUP]InfluxDB 1.4.1(リリース日:2017/11/13)
■2017-11-08
[VerUP]InfluxDB 1.3.7(リリース日:2017/10/26)
■2017-08-21
[VerUP]InfluxDB 1.3.2(リリース日:2017/08/04)
■2017-08-07
[VerUP]InfluxDB 1.3.1(リリース日:2017/07/20)
■2017-03-28
[VerUP]InfluxDB 0.0.1(リリース日:2013/10/22)
■2017-03-28
[VerUP]InfluxDB 0.4.0(リリース日:2014/01/17)
■2017-03-28
[VerUP]InfluxDB 0.9.1(リリース日:2015/07/02)
■2017-03-28
[VerUP]InfluxDB 0.12.0(リリース日:2016/04/05)
■2017-03-28
[VerUP]InfluxDB 1.0.0(リリース日:2016/09/08)
■2017-03-28
[VerUP]InfluxDB 1.2.0(リリース日:2017/01/24)

すべてを見る

更新日:2017-03-26

InfluxDBの概要

InfluxDBはオープンソースの時系列データベース(Time series database)です。時系列データベースとは、ログなどの時間を軸とした連続したデータを蓄積、検索することに特化して作られたデータベースです。IoT分野で発生する大量のセンサーデータやDevOpsでクラスタリングされたサーバ郡の出力する各種メトリックスやログを蓄積する用途において従来のデータベースよりも高いパフォーマンスを発揮します。

Version1.2以前のInfluxDBは、他の多くの時系列データベースと同じくストレージエンジンとして既存のプロダクトを利用していました(InfluxDBの場合は、LevelDB,RocksDB,BoltDBなど)。
しかし、最新のInfluxDBのバージョン(ver1.2)では既存のストレージエンジンではなく、オリジナルのストレージエンジンを開発して組み込むことでさらなる性能の向上を実現しています。

新しいInfluxDBのストレージエンジンはTSM Tree(Time-structured merge tree)と呼ばれる独自に開発したストレージ構造とWAL(Write ahead log)などの複数のコンポーネントで組み立てられています。
これらは、Apache HBaseなどで使われているLSM Tree(Log-structured merge-tree)の構造と似たものになっていますが、より時系列データの蓄積に適応したストレージエンジンになっています。
時系列データの特徴としては下記が挙げられますが、InfluxDBのストレージはこれらの時系列データ特有の性質を取り扱うために最適化されています。

TOPに戻る

InfluxDBの主な特徴

  • 高い書込スループット
  • 高い読込スループット
  • 大量データの削除(期限切れデータなど)
  • データは追加されることがメインで、更新はほぼ発生しない

パフォーマンス

InfluxData社は、自社のブログでElasticsearch, Cassandra, MongoDBなど時系列データベース以外の製品との性能比較においてInfluxDBが書込、読込、データ圧縮などの項目において時系列データを扱う上でどの製品よりも高いパフォーマンスを発揮しているとしています。

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

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

InfluxDBを操作するために2つのインタフェースが用意されています。1つは、CLI(コマンドラインインタフェース)で、シェルからinflux コマンドで呼び出します。

CLIでのアクセス例(時刻表示をrfc3339に準拠させる場合)
$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.2.x
InfluxDB shell 1.2.x
>

もう1つのインタフェースははHTTPでアクセスするREST APIです。InfluxDBはデフォルトで8086ポートを開いてHTTPリクエストを受け付けるようになっています。

REST APIでのアクセス例
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"

問い合わせは両インタフェース共に、InfluxQLというSQLに似たクエリ言語を使って行います。InfluxQLの文法はSQLと酷似していますので既存のSQLの知識があれば操作することが可能です。
ただし、SELECT, INSERT, DELETEはありますが、UPDATEコマンドはありません。InfluxDBのドキュメントにおいてもCRUDは、CR-udでありud はほぼ無いことになっています。Deleteは存在しますが特定の1レコードを削除といった形ではなく、期限が切れたデータを一度に大量に削除するといった定量的な使い方になることがほとんどです。

Clustering(Enterprise版のみ)

InfluxDBのversion1.1までは、クラスタリング機能をアルファ版として提供していました。これは、クラスタリング機能はプロダクション環境で使用できるほど成熟していないためでした。
1.2からはこのクラスタリング機能が安定したレベルまで達しプロダクション環境で使用可能な位置づけになりましたが、クラスタリング機能はenterprise版(有料版)でのみ提供される機能となってしまいました。
InfluxData社(InfluxDBの開発元)はオープンソースビジネスを存続させるためにクラスタリング機能を必要とするような大規模システムを運用する企業から収益を得る選択肢を取ることにしたとしています。Ver1.2ではスタンドアローン版のみが無償で利用可能となっています。

TOPに戻る

InfluxDBの類似ソフトウェア

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

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

TOPに戻る

InfluxDBのライセンス

InfluxDBはMITライセンスのオープンソース・ソフトウエアです。MITライセンスのソフトウェアは無償で再配布、商用利用などが可能となっており、他のオープンソースライセンスに比べ制限が極めて緩いライセンスになります。

TOPに戻る

InfluxDBの動作環境

InfluxDBはGo言語で書かれています。Go言語のコンパイラーが存在するOSでコンパイルすることが可能です。

コンパイル済みのバイナリは下記のOS向けの物が提供されています。

  • 各種Liunx
  • MacOSX
  • Windows

TOPに戻る

InfluxDBのドキュメント

InfluxDBのドキュメントは下記URLから参照ください。
https://docs.influxdata.com/influxdb/v1.2/

TOPに戻る

InfluxDBのダウンロード

各種OS向けのInfluxDBパッケージは下記URLからダウンロード可能です。 https://portal.influxdata.com/downloads

TOPに戻る

InfluxDBのサポート

現在、OpenStandiaではInfluxDBのサポート提供は行っておりません。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気OpenAM
  • 注目MongoDB
  • OpenIDM
  • Corosync
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • BIND
  • Apache Struts
  • PostgreSQL
  • Pentaho
  • Spring Framework
  • Apache Tomcat
  • Solr
  • Dovecot
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Liferay
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • BIND
  • OpenDJ
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • sendmail
  • Courier-IMAP
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO
?
<--!-->