<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>InfluxDB &#8211; SRA OSS Tech Blog</title>
	<atom:link href="https://www.sraoss.co.jp/tech-blog/tag/influxdb/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>https://www.sraoss.co.jp/tech-blog/</link>
	<description>OSS専門の技術ブログ。PostgreSQL、Zabbixを中心に10種類以上のOSSの解説、アップデート情報、運用ヒントを提供。</description>
	<lastBuildDate>Mon, 09 Nov 2026 03:34:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://www.sraoss.co.jp/tech-blog/wp-content/uploads/2018/07/blog-icon-150x150.png</url>
	<title>InfluxDB &#8211; SRA OSS Tech Blog</title>
	<link>https://www.sraoss.co.jp/tech-blog/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>InfluxDBの紹介</title>
		<link>https://www.sraoss.co.jp/tech-blog/influxdb-2/influxdb-introduction/</link>
		
		<dc:creator><![CDATA[近藤 雄太 (Yuta Kondo)]]></dc:creator>
		<pubDate>Mon, 31 Aug 2020 01:30:17 +0000</pubDate>
				<category><![CDATA[InfluxDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=6316</guid>

					<description><![CDATA[本記事では、オープンソースの時系列データベースInfluxDBの概要と基本的な使い方について説明します。 InfluxDBとは InfluxDBは時系列データベース InfluxDBは時刻情報を主キーとしたデータを扱う時 ...]]></description>
										<content:encoded><![CDATA[<p>本記事では、オープンソースの時系列データベースInfluxDBの概要と基本的な使い方について説明します。</p>
<p><span id="more-6316"></span></p>
<h2>InfluxDBとは</h2>
<h3>InfluxDBは時系列データベース</h3>
<p>InfluxDBは時刻情報を主キーとしたデータを扱う時系列データベースの一つです。IoTデバイスのセンサーデータやソフトウェアのログデータなどの時刻情報を付随したデータを扱うのに便利で、Grafanaなどのデータ可視化ツールとの連携も容易です。</p>
<h3>InfluxDBはリレーショナルデータベースではない</h3>
<p>InfluxDBはリレーション形式のデータを扱うリレーショナルデータベースではなく、一種のスキーマレスデータベースです。しかし、SQLに似たInfluxQLという独自のクエリ言語を利用することでリレーショナルデータベースライクな使い方も可能です。</p>
<h3>InfluxDBはオープンソースデータベース</h3>
<p>InfluxDBは<a href="https://github.com/influxdata/influxdb" target="_blank" rel="noopener noreferrer">GitHub</a>でソースが公開されているオープンソースのデータベースです。ただし、クラスタリング機能を持ったEnterprise版は商用のクローズドソースとなっています。</p>
<h2>導入手順</h2>
<p>InfluxDBは2.x系が存在しますが、まだ安定版ではないので今回はバージョン1.8を導入します。</p>
<p>CentOS7に導入する方法とDockerコンテナを用いる2つの方法を示します。</p>
<h3>CentOS7に導入する場合</h3>
<h4>influxdbリポジトリを登録</h4>
<pre># cat &lt;&lt;EOF | tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
</pre>
<h4>yumコマンドでインストール</h4>
<pre># yum install influxdb
</pre>
<h4>systemctlでinfluxdbサービスを起動</h4>
<pre># systemctl start influxdb
</pre>
<h3>Dockerコンテナで導入する場合</h3>
<p>Dockerの知識がある方はDocker Imageから構築する方法が簡単です。InfluxDBはDocker Hubに<a href="https://hub.docker.com/_/influxdb" target="_blank" rel="noopener noreferrer">公式イメージ</a>が提供されています。</p>
<h4>InfluxDBコンテナの起動</h4>
<pre># docker run --name=influxdb -d -p 8086:8086 influxdb
</pre>
<h2>基本的な使い方</h2>
<p>データ操作にはInfluxQLというSQLに似たInfluxDB独自のコマンド文を用います。</p>
<p>以下では、対話環境のクライアント接続ツールinfluxを用いて、データの入力と参照を試してみます。</p>
<h3>influxでInfluxDBに接続</h3>
<h4>CentOS7の場合</h4>
<pre># influx
Connected to http://localhost:8086/ version 1.8.0
InfluxDB shell version: 1.8.0
&gt;
</pre>
<h4>Dockerコンテナの場合</h4>
<pre># docker exec -it influxdb influx
Connected to http://localhost:8086/ version 1.8.0
InfluxDB shell version: 1.8.0
&gt;
</pre>
<h3>influxの終了</h3>
<p>influxの対話環境を終了するにはexitコマンドを利用します。</p>
<pre>&gt; exit
# 《シェルに戻る》
</pre>
<h3>データベースの作成</h3>
<p>CREATE DATABASE文でデータベースを作成することができます。</p>
<p>ここでは、mydbという名前のデータベースを作成します。</p>
<pre>&gt; CREATE DATABASE mydb
</pre>
<h3>データベース一覧</h3>
<p>SHOW DATABASESで存在するデータベースの一覧を見ることができます。</p>
<p>先ほど作成したデータベースmydbが確認できます。_internalは最初から存在するシステム用のデータベースです。</p>
<pre>&gt; SHOW DATABASES
name: databases
name
----
_internal
mydb
</pre>
<h3>デフォルトで利用するデータベースを指定</h3>
<p>USE文で接続中にデフォルトで利用するデータベースをあらかじめ指定しておくことができます。デフォルトとなるデータベースを指定しないと毎回クエリでデータベースを明示的に指定する必要があります。</p>
<p>ここでは、先ほど作成したmydbを指定しておきます。</p>
<pre>&gt; USE mydb
Using database mydb
</pre>
<h3>InfluxDBの扱うデータ</h3>
<p>InfluxDBのデータはポイント(point)単位で扱われます。ポイントはSQLのテーブル行のような概念に当たります。</p>
<p>ポイントにはメジャーメント(measurement) 、タイム(time)、タグ(tag)、フィールド(field)が含まれます。</p>
<ul>
<li>メジャーメント：ポイントのグループを示すメタデータ。参照時にSQLのテーブルのように扱うことが可能</li>
<li>タイム：&#8221;time&#8221;という名前のタイムスタンプ情報を持つ主キー</li>
<li>タグ：インデックスに用いるためのメタデータ</li>
<li>フィールド：実際のデータ。インデックスには使えない（検索条件に含めると遅い）</li>
</ul>
<p>厳密ではありませんが、SQLとの用語対応は以下の通りです。</p>
<table>
<thead>
<tr>
<th>InfluxQL</th>
<th>SQL</th>
</tr>
</thead>
<tbody>
<tr>
<td>メジャーメント</td>
<td>テーブル</td>
</tr>
<tr>
<td>ポイント</td>
<td>行</td>
</tr>
<tr>
<td>タイム、タグ、フィールド</td>
<td>列</td>
</tr>
</tbody>
</table>
<h3>データ挿入</h3>
<p>INSERT文でデータを挿入します。事前にメジャーメント、タグ、フィールドを定義する必要はありません。</p>
<p>ここでは、cpuメジャーメントにhost,regionタグとvalueフィールドに値を指定して1つのポイントを挿入します。</p>
<pre>&gt; INSERT cpu,host=serverA,region=Japan value=0.64
</pre>
<h3>データ参照</h3>
<p>SELECT文でデータを参照します。*(アスタリスク)ですべての列を指定できます。</p>
<p>ここでは、cpuメジャーメントのすべてのポイントをすべての列を含んで参照します。</p>
<pre>%gt; SELECT * FROM cpu;
name: cpu
time                host    region value
----                ----    ------ -----
1592658774391399679 serverA Japan  0.64
</pre>
<p>このとき、time列が人間が読める形式になっていないので、precision文を使ってrfc3339形式に変更します。ちなみに、time列の表示形式はinfluxを開始する際に<code>-precision</code>オプションを使用しても指定できます。</p>
<pre>&gt; precision rfc3339
&gt; select * from cpu
name: cpu
time                           host    region value
----                           ----    ------ -----
2020-06-20T13:12:54.391399679Z serverA Japan  0.64
</pre>
<p>timeに明示的にデータを挿入した場合を除き、timeには挿入時の時刻情報が自動的に挿入されます。</p>
<h3>SHOWコマンド</h3>
<p>先ほど、<code>SHOW DATABASES</code>でデータベース一覧を確認したように、SHOWコマンドでは色々なシステムデータを参照することが可能です。</p>
<p>現在実行中のクエリ一覧</p>
<pre>&gt; SHOW QUERIES
qid query        database duration status
--- -----        -------- -------- ------
17  SHOW QUERIES mydb     35µs     running
</pre>
<p>メジャーメント一覧</p>
<pre>&gt; SHOW MEASUREMENTS
name: measurements
name
----
cpu
</pre>
<h2>おわりに</h2>
<p>本記事ではInfluxDBの概要と基本的な使い方について記載しましたが、ここまでの話はInfluxDBの機能のほんの一部です。InfluxDBについて詳しく知りたい方は<a href="https://docs.influxdata.com/influxdb/" target="_blank" rel="noopener noreferrer">公式のドキュメント</a>をご覧ください。</p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
