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はデータのセットを表し、グラフの概念を参照します.
> show series from h2o_feet
key
---
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica

基本構文
データベース操作
データベースの作成
CREATE DATABASE  [WITH [DURATION ] [REPLICATION ] [SHARD DURATION ] [NAME ]]
  • DURATION保存時間
  • REPLICATIONレプリケーション数(クラスタ)
  • SHARD DURATION各スライスの持続時間(期間内に全てのポイントがそのスライスに保存する)、SHARDはInfuxDB記憶部
  • である.
  • NAMEデータ保持ポリシー名
  • WITH文を指定しない場合、デフォルトではautogenポリシーが使用されます.保存時間は永続的で、スライス時間は1週間、コピー数は1週間です.
    データベースの削除
    DROP DATABASE 
    

    データ削除
    DROP SERIES FROM  WHERE =''
     
    DELETE FROM  WHERE [=''] | [

    削除の条件はtagのみで、fieldはサポートされていません.ここで、DELETEtime条件をサポートし、正規表現構文をサポートします.
    データ保存ポリシー(Retention Policies)
    InfluxDBは毎秒何千ものデータを処理できます.これらのデータをすべて保存するには大量のストレージスペースが必要になります.すべての履歴データを保存する必要がない場合があります.そのため、InfluxDBはデータ保存ポリシー(Retention Policies)を発表し、データの保存時間をカスタマイズします.デフォルトポリシーではないアクセスポリシーにアクセスするには、指定したポリシー名を表示する必要がある場合は、複数の保存ポリシーを指定できます.作成
    CREATE RETENTION POLICY  ON  DURATION  REPLICATION  [SHARD DURATION ] [DEFAULT]
    
  • 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デフォルト
  • 変更
    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]