<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devkuma – InfluxDB</title>
    <link>https://www.devkuma.com/jp/tags/influxdb/</link>
    <image>
      <url>https://www.devkuma.com/jp/tags/influxdb/logo/180x180.jpg</url>
      <title>InfluxDB</title>
      <link>https://www.devkuma.com/jp/tags/influxdb/</link>
    </image>
    <description>Recent content in InfluxDB on devkuma</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>jp</language>
    <managingEditor>kc@example.com (kc kim)</managingEditor>
    <webMaster>kc@example.com (kc kim)</webMaster>
    <copyright>The devkuma</copyright>
    
	  <atom:link href="https://www.devkuma.com/jp/tags/influxdb/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>InfluxDB</title>
      <link>https://www.devkuma.com/jp/docs/influxdb/</link>
      <pubDate>Sat, 10 Dec 2022 05:27:00 +0900</pubDate>
      <author>kc@example.com (kc kim)</author>
      <guid>https://www.devkuma.com/jp/docs/influxdb/</guid>
      <description>
        
        
        &lt;h2 id=&#34;influxdbの概要&#34;&gt;InfluxDBの概要&lt;/h2&gt;
&lt;p&gt;InfluxDBはオープンソースの時系列データベース（Time series database）である。時系列データベースとは、ログなどの時間を軸にした連続データの蓄積と検索に特化したデータベースである。IoT分野で発生する大量のセンサーデータや、DevOpsでクラスタリングされたサーバー群が出力する各種メトリクスやログを蓄積する用途において、従来のデータベースより高いパフォーマンスを発揮する。&lt;/p&gt;
&lt;p&gt;以前のInfluxDBは、他の多くの時系列データベースと同様に、既存製品をストレージエンジンとして使用していた（InfluxDBの場合はLevelDB、RocksDB、BoltDBなど）。&lt;br&gt;
しかし、2015年10月にInfluxDBの開発元であるInfluxDataによって独自のストレージエンジンTime-Structured Merge Tree（TSM）が開発され、それ以降はTSMがInfluxDBに採用されている。&lt;/p&gt;
&lt;p&gt;TSMはApache HBaseなどで使用されているLSM Tree（Log-structured merge-tree）の構造と似ているが、より時系列データの蓄積に適応したストレージエンジンになっている。時系列データ特有の性質を扱うように最適化されており、このストレージエンジンを利用することでInfluxDBの性能が向上した。&lt;/p&gt;
&lt;p&gt;また、InfluxDB Cloud、InfluxDB Open Source、InfluxDB Enterpriseの違いは、以下のURLで確認できる。&lt;br&gt;
&lt;a href=&#34;https://www.influxdata.com/products/editions/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.influxdata.com/products/editions/&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;influxdbの主な特徴&#34;&gt;InfluxDBの主な特徴&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;高い書き込みスループット&lt;/li&gt;
&lt;li&gt;高い読み取りスループット&lt;/li&gt;
&lt;li&gt;大量データの削除（期限切れデータなど）&lt;/li&gt;
&lt;li&gt;データの更新および削除よりも、登録と参照の性能を優先する。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;パフォーマンス&#34;&gt;パフォーマンス&lt;/h3&gt;
&lt;p&gt;InfluxData社は自社ブログで、Elasticsearch、Cassandra、MongoDBなど時系列データベース以外の製品との性能比較において、InfluxDBが書き込み、読み取り、データ圧縮などの項目で、時系列データを扱ううえでどの製品よりも高いパフォーマンスを発揮しているとしている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.influxdata.com/blog/influxdb-markedly-elasticsearch-in-time-series-data-metrics-benchmark/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Elasticsearchとの比較&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.influxdata.com/blog/influxdb-vs-cassandra-time-series/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cassandraとの比較&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.influxdata.com/blog/influxdb-is-27x-faster-vs-mongodb-for-time-series-workloads/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MongoDBとの比較&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;同じ時系列データベースであるOpenTSDBとの性能比較でも高い性能を発揮しているとしている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.influxdata.com/blog/influxdb-markedly-outperforms-opentsdb-in-time-series-data-metrics-benchmark/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;OpenTSDBとの比較&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;クライアントインターフェース&#34;&gt;クライアントインターフェース&lt;/h3&gt;
&lt;p&gt;InfluxDBを操作するために2つのインターフェースが用意されている。1つはCLI（コマンドラインインターフェース）で、シェルから&lt;code&gt;influx&lt;/code&gt;コマンドで呼び出す。&lt;/p&gt;
&lt;p&gt;CLIのアクセス例（時間表示がRFC3339に準拠する場合）:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ influx -precision rfc3339
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Connected to http://localhost:8086 version 1.7.x
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;InfluxDB shell 1.7.x
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;もう1つのインターフェースは、HTTPでアクセスするREST APIである。InfluxDBはデフォルトで8086ポートを開き、HTTPリクエストを受け付ける。また、リクエストのクエリ結果はJSON形式、CSV形式で取得できる。&lt;/p&gt;
&lt;p&gt;REST APIのアクセス例:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -i -XPOST http://localhost:8086/query --data-urlencode &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;q=CREATE DATABASE mydb&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;クエリはどちらのインターフェースでも、InfluxQLというSQLに似たクエリ言語を使用して実行される。InfluxQLの文法はSQLとほぼ同じであるため、既存のSQL知識があれば操作できる。&lt;/p&gt;
&lt;p&gt;以下のURLにInfluxQLに存在するコマンド一覧がある。&lt;br&gt;
&lt;a href=&#34;https://docs.influxdata.com/influxdb/v1.7/query_language/spec/#queries&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://docs.influxdata.com/influxdb/v1.7/query_language/spec/#queries&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上記URLのとおり、SELECT、INSERT、DELETEはあるがUPDATEコマンドはない。InfluxDBのドキュメントでもCRUDはCR-udであり、udについては存在しない。Deleteは存在するが、特定の1レコードを削除する形ではなく、期限切れデータを一度に大量削除するような使い方になることが多い。&lt;/p&gt;
&lt;p&gt;GROUP BYやCOUNTのような関数も使用できる。&lt;br&gt;
使用できる関数一覧は以下のURLのとおりである。&lt;br&gt;
&lt;a href=&#34;https://docs.influxdata.com/influxdb/v1.7/query_language/functions#sidebar&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://docs.influxdata.com/influxdb/v1.7/query_language/functions#sidebar&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;clusteringenterprise版専用&#34;&gt;Clustering（Enterprise版専用）&lt;/h3&gt;
&lt;p&gt;InfluxDBのバージョン1.1までは、クラスタリング機能をアルファ版として提供していた。これは、クラスタリング機能が本番環境で使用できるほど成熟していなかったためである。&lt;br&gt;
1.2からは、このクラスタリング機能が安定したレベルに達し、本番環境で使用可能な位置づけになったが、クラスタリング機能はEnterprise（有料）でのみ提供される機能になった。&lt;br&gt;
InfluxData社（InfluxDBの開発元）は、オープンソースビジネスを存続させるため、クラスタリング機能を必要とする大規模システムを運用する企業から収益を得られる選択肢を提供している。Ver1.2では、スタンドアロン版のみ無料で使用できる。&lt;/p&gt;
&lt;h2 id=&#34;influxdbの類似ソフトウェア&#34;&gt;InfluxDBの類似ソフトウェア&lt;/h2&gt;
&lt;p&gt;InfluxDBのような時系列データベースには、次のような製品がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenTSDB
&lt;ul&gt;
&lt;li&gt;Hadoop/HBase上で実行&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;KairosDB
&lt;ul&gt;
&lt;li&gt;OpenTSDBのフォークで、ストレージエンジンにCassandraを使用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Prometheus
&lt;ul&gt;
&lt;li&gt;システムメトリクスを集めて監視するための専用ツール&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DalmatinerDB
&lt;ul&gt;
&lt;li&gt;ストレージエンジンにRiakを使用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;influxdbのライセンス&#34;&gt;InfluxDBのライセンス&lt;/h2&gt;
&lt;p&gt;InfluxDBはMITライセンスのオープンソースソフトウェアである。MITライセンスのソフトウェアは、無償での再配布や商用利用などが可能であり、他のオープンソースライセンスに比べて制限が非常に緩いライセンスである。&lt;/p&gt;
&lt;h2 id=&#34;influxdbの動作環境&#34;&gt;InfluxDBの動作環境&lt;/h2&gt;
&lt;p&gt;InfluxDBはGo言語で書かれている。Go言語のコンパイラーが存在するOSでコンパイルできる。&lt;/p&gt;
&lt;p&gt;コンパイル済みのバイナリは、以下のようなOS環境別に提供されている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;さまざまなLinux&lt;/li&gt;
&lt;li&gt;MacOSX&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;influxdbドキュメント&#34;&gt;InfluxDBドキュメント&lt;/h2&gt;
&lt;p&gt;InfluxDBのドキュメントは以下のURLを参照する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.influxdata.com/influxdb/v1.7/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Version 1.7&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.influxdata.com/influxdb/v2.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Version 2.0&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;influxdbダウンロード&#34;&gt;InfluxDBダウンロード&lt;/h2&gt;
&lt;p&gt;各種OS向けのInfluxDBパッケージは、以下のURLからダウンロードできる。&lt;br&gt;
&lt;a href=&#34;https://portal.influxdata.com/downloads&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://portal.influxdata.com/downloads&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GitHubでもソースファイルを確認できる。&lt;br&gt;
&lt;a href=&#34;https://github.com/influxdata/influxdb&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/influxdata/influxdb&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;

      </description>
      
      <category>Database</category>
      
      <category>InfluxDB</category>
      
    </item>
    
  </channel>
</rss>
