InfuxDBの概要
4879 ワード
InfluxDBは、オープンソース分散シーケンス、イベント、および指標データベースです.外部依存なしにGo言語で記述します.その設計目標は分布式と水平伸縮拡張を実現することである.3つの特性:Time Series(時系列):時間に関連する関数(最大、最小、和など)Metrics(メトリック):大量のデータをリアルタイムで計算できますEevents(イベント):任意のイベントデータの特徴をサポートします:schemaless(構造なし)、任意の数の列Scalable min、max、sum、count、mean、Medianの一連の関数は、Native HTTP APIの統計を容易にし、httpサポートを内蔵し、http読み書きPowerful Query Languageを使用してsql Built-in Explorerのような管理ツールを備えている.
基本概念
従来のデータベース
Infuxdb
データベース#データベース#
database
表
measurement
きろく
point
Pointポイントはタイムスタンプ、データ、タグで構成されています.
ポイント属性
従来のデータベースの概念
time
各データ・レコード時間は、データベース内のプライマリ・インデックスです(自動的に生成されます)
fields
各種記録値(インデックスのない属性)つまり記録値:温度、湿度
tags
索引付きの各種プロパティ:地域、海抜
**series**テーブル内のすべてのtagsの組合せデータ、各seriesはデータのセットを表し、グラフの概念を参照します.
基本構文
データベース操作
データベースの作成 DURATION保存時間 REPLICATIONレプリケーション数(クラスタ) SHARD DURATION各スライスの持続時間(期間内に全てのポイントがそのスライスに保存する)、SHARDはInfuxDB記憶部 である. NAMEデータ保持ポリシー名 WITH文を指定しない場合、デフォルトでは
データベースの削除
データ削除
削除の条件は
データ保存ポリシー(Retention Policies)
InfluxDBは毎秒何千ものデータを処理できます.これらのデータをすべて保存するには大量のストレージスペースが必要になります.すべての履歴データを保存する必要がない場合があります.そのため、InfluxDBはデータ保存ポリシー(Retention Policies)を発表し、データの保存時間をカスタマイズします.デフォルトポリシーではないアクセスポリシーにアクセスするには、指定したポリシー名を表示する必要がある場合は、複数の保存ポリシーを指定できます.作成 DURATION保存時間 REPLICATIONレプリケーション数(クラスタ) SHARD DURATION各スライスの持続時間(期間内にすべてのポイントがそのスライスに保存されている)は、SHARDがInfuxDBメモリセルであるこの値が指定されていない場合、以下の規則に従って作成される: .
Retention Policy’s DURATION
Shard Group Duration
< 2 days
1 hour
>= 2 days and <= 6 months
1 day
> 6 months
7 days
最小は1時間です.1時間未満の場合は、デフォルトで1時間として指定されます. DEFAULTデフォルト 変更
削除
連続クエリ(Continuous Queries)
データ保存ポリシーでは、データの生存時間を指定できますが、時間を超えるとデータが削除されます.データを削除したくないし、すべてのデータを保存したくない(データ量が大きすぎます)ので、連続クエリーで目的のデータを保存することができます(精度の低下、元のサンプリングは5 s、5 mに変更できます).
例
挿入(INSERT)
基本概念
従来のデータベース
Infuxdb
データベース#データベース#
database
表
measurement
きろく
point
Pointポイントはタイムスタンプ、データ、タグで構成されています.
ポイント属性
従来のデータベースの概念
time
各データ・レコード時間は、データベース内のプライマリ・インデックスです(自動的に生成されます)
fields
各種記録値(インデックスのない属性)つまり記録値:温度、湿度
tags
索引付きの各種プロパティ:地域、海抜
**series**テーブル内のすべてのtagsの組合せデータ、各seriesはデータのセットを表し、グラフの概念を参照します.
> show series from h2o_feet
key
---
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
基本構文
データベース操作
データベースの作成
CREATE DATABASE [WITH [DURATION ] [REPLICATION ] [SHARD DURATION ] [NAME ]]
autogen
ポリシーが使用されます.保存時間は永続的で、スライス時間は1週間、コピー数は1週間です.データベースの削除
DROP DATABASE
データ削除
DROP SERIES FROM WHERE =''
DELETE FROM WHERE [=''] | [
削除の条件は
tag
のみで、field
はサポートされていません.ここで、DELETE
はtime
条件をサポートし、正規表現構文をサポートします.データ保存ポリシー(Retention Policies)
InfluxDBは毎秒何千ものデータを処理できます.これらのデータをすべて保存するには大量のストレージスペースが必要になります.すべての履歴データを保存する必要がない場合があります.そのため、InfluxDBはデータ保存ポリシー(Retention Policies)を発表し、データの保存時間をカスタマイズします.デフォルトポリシーではないアクセスポリシーにアクセスするには、指定したポリシー名を表示する必要がある場合は、複数の保存ポリシーを指定できます.作成
CREATE RETENTION POLICY ON DURATION REPLICATION [SHARD DURATION ] [DEFAULT]
Retention Policy’s DURATION
Shard Group Duration
< 2 days
1 hour
>= 2 days and <= 6 months
1 day
> 6 months
7 days
最小は1時間です.1時間未満の場合は、デフォルトで1時間として指定されます.
ALTER RETENTION POLICY ON DURATION REPLICATION SHARD DURATION DEFAULT
削除
DROP RETENTION POLICY ON
連続クエリ(Continuous Queries)
データ保存ポリシーでは、データの生存時間を指定できますが、時間を超えるとデータが削除されます.データを削除したくないし、すべてのデータを保存したくない(データ量が大きすぎます)ので、連続クエリーで目的のデータを保存することができます(精度の低下、元のサンプリングは5 s、5 mに変更できます).
CREATE CONTINUOUS QUERY ON
BEGIN
SELECT INTO FROM [WHERE ] GROUP BY time()[,]
END
例
> SELECT "passengers","complaints" FROM bus_data
name: bus_data
--------------
time passengers complaints
2016-08-28T07:00:00Z 5 9
2016-08-28T07:15:00Z 8 9
2016-08-28T07:30:00Z 8 9
2016-08-28T07:45:00Z 7 9
2016-08-28T08:00:00Z 8 9
2016-08-28T08:15:00Z 15 7
2016-08-28T08:30:00Z 15 7
2016-08-28T08:45:00Z 17 7
2016-08-28T09:00:00Z 20 7
## 1
> CREATE CONTINUOUS QUERY "cq_basic" ON "transportation" \
BEGIN \
SELECT mean("passengers") INTO "average_passengers" FROM "bus_data" GROUP BY time(1h) \
END
##
> SELECT * FROM "average_passengers"
name: average_passengers
------------------------
time mean
2016-08-28T07:00:00Z 7
2016-08-28T08:00:00Z 13.75
挿入(INSERT)
INSERT [,=...] =[,=...] [unix-nano-timestamp]