テンプレートテスト
ブログの説明
ブログの説明2
menu
keyboard_arrow_up
Top
search
close
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
Home
›
InfluxDB
›
InfluxDB の概念
2019/06/21
InfluxDB の概念
update
event_note
label
InfluxDB
今まで RDBMS しか使ったことがないので、InfluxDB の基本的な概念についてメモしておきます。
公式のドキュメントは以下です。 - https://docs.influxdata.com/influxdb/v1.7/concepts/ また、他には以下のページが体系的にまとめられていて分かりやすかったです。 - http://devconnected.com/the-definitive-guide-to-influxdb-in-2019/ これらをベースにまとめていますが、間違ったことを書いているかもしれないので、その場合は指摘していただけると助かります。 **現在勉強中なので、適宜更新していくと思います。** ## 時系列データベース InfluxDB は時系列データベースの1つです。 時系列データベース (Time Series Database : TSDB) とはその名の通り、時系列データを扱うのに特化した DB で、NoSQL の一種だそうです。 具体的には以下のように時系列で変化していくようなデータを扱う場合に使われることが多いそうです。 - イベントログ - センサー情報 RDBMS と比較した場合の TSDB の特徴は、例えば以下のようなものがあるらしいです。 - スキーマレスなため、データの増減に柔軟に対応できる - 古いデータを自動で削除することができる - 時間ごとの処理を定義できる ## 用語 公式にも説明があります。 - https://docs.influxdata.com/influxdb/v1.7/concepts/key_concepts/ ### Database RDBMS では Database はテーブルの集まりであり、Database 自体が1つのインスタンスのことを指します。 InfluxDB でも基本的な概念は同じですが、以下の点が異なるようです。 - 1つの InfluxDB インスタンスで複数の Database をホストできる - Database は複数の Measurement をホストする うーん、いまいちピンとこない・・・。 ### Tags と Fields 値が格納される場所で、RDBMS でいえばカラムに相当します。 この2つの一番の違いは、Tags にはインデックスが付加され、Fields にはインデックスが付加されないことです。 Tags は、Measurement におけるデータを定義する付加情報と見なすことができます。 Tags はデータに関する追加情報を提供しますが、データそのものは提供しません。 一方、Fields はただのデータです。 Tags と Fields の使い分けは以下のような感じらしいです。 - RDBMS でインデックスされるようなデータは `Tags` - Measurement に対する付加的な情報は `Tags` - それ以外は `Fields` Tags と Fields はどちらもキー・バリュー (`key=value`) で定義され、それぞれ `Tags Key` `Tags Value` `Fields Key` `Fields Value` と呼ばれます。 また複数のキー・バリューをまとめてセットと呼び、それぞれ `Tags Set` `Fields Set` と呼ばれます。 つまり、以下です。 - `Tags Set` は `Tags Key` `Tags Value` のコレクション - `Fields Set` は `Fields Key` `Fields Value` のコレクション ### Timestamp 日時です。 時系列データベースでは全ての情報に Timestamp が存在します。 ### Point ある時刻におけるデータの集まりで、以下のデータから構成されます。 - Timestamp - 所属する Measurement - Tags Set (必須ではない) - Fields Set Point は RDBMS でいえばレコードに相当します。 InfluxDB ではこの Point でデータを格納していくようです。 ### Measurement Tags, Fields, TimeStamp のコンテナであり、RDBMS でいえばテーブルに相当します。 (しかし、後述の Series も RDBMS のテーブルだと説明しているサイトもあり、いまいちよくわかりません。) Measurement の名前はそこに含まれる Fields を説明したものにするようです。 ### Retention policy データの保存期間のことです。 デフォルトは `autogen` で、永続的に保存されるようになっているそうです。 ### Series Tags, Measurement, Retention policy の組み合わせで定義されるデータ系列のことです。 例えば、特定の Tags で複数の Measurement からデータ系列を抽出するというような使い方をするようです。 ## 実際に使っていくにあたり ### Measurement と Tags の使い分け 例えばリソースモニターのようなものを考えたとき、以下のようにするのが望ましいようです。 - `CPU` `メモリー` `ネットワーク` などの区別は Measurement で行う - `CPU1` `CPU2` のような区別は Tags で行う
## 参考 URL - https://docs.influxdata.com/influxdb/v1.7/concepts/ - https://blog.web-apps.tech/play_influxdb/ - http://devconnected.com/the-definitive-guide-to-influxdb-in-2019/ - https://blue1st-tech.hateblo.jp/entry/2016/10/18/232018 - https://kakakakakku.hatenablog.com/entry/2018/03/11/224442 - https://yakst.com/ja/posts/4931 - https://kapibara-sos.net/archives/705 - https://qiita.com/dedepi92/items/eaf9f012cc79f784f2d5 - https://yakst.com/ja/posts/4931
tweet
facebook
Pocket
B!
はてブ
LINE
chevron_left
chevron_right
Translate
Popular Posts
ASP.NET Core で AdminLTE を使用する
TortoiseGit でリモートリポジトリのタグを削除する
TortoiseGit でコミットメッセージを変更する
image
NO IMAGE
C# と C/C++ のライブラリを混在させる場合の構成
image
NO IMAGE
ASP.NET Core におけるフロントエンドのパッケージ管理
image
NO IMAGE
TortoiseGit でブランチ間の差分を見る
image
NO IMAGE
[C#] Dictionary の キーがタプルの場合に JSON へのシリアライズとデシリアライズを行う方法
image
NO IMAGE
ASP.NET Core (.NET Core) でバックグランドタスクを起動する
ASP.NET Core アプリケーションを外部に公開するための Windows ファイアウォールの設定
image
NO IMAGE
.NET アプリケーションを XCOPY 配置で配布する
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
Apache
3
AppVeyor
2
AsciiDoc
3
ASP.NET Core
55
Atom
4
AWS
2
AWS Cloud9
4
blockdiag
1
Blogger
10
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
Codecov
1
CSS
1
Docker
28
DokuWiki
4
Doxygen
1
draw.io
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
2
Firefox
5
Git
12
GitBook
4
GitBucket
7
GitHub
7
GitLab
30
Go
1
Google
1
Google Cloud Platform
1
Grafana
5
HTML
5
IIS
8
InfluxDB
6
JavaScript
7
Jenkins
7
Linux
25
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MVC
1
MVVM
6
NLog
3
Node.js
3
npm
1
OpenSSL
3
ownCloud
2
Pine Script
1
PlantUML
5
PowerShell
7
Prism
2
Python
11
Razor
3
Redmine
30
remark.js
2
rocketchat
4
Ruby
3
SignalR
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
t
1
TestLink
2
Tomcat
2
TortoiseGit
10
TortoiseSVN
2
Trading View
1
Travis CI
1
Ubuntu
13
Visual Studio
39
Visual Studio Code
9
Vue.js
8
Windows
56
Windows 10
4
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
1
Xamarin
1
xUnit
5
アプリケーション
1
デザインパターン
1
テスト
3
バッチファイル
2
ぴよ
3
プログラミング
3
ライセンス
1
ラベル
3
ラベル1
2
英語
2
雑記
1
書籍
1
数学
1
正規表現
1
Blog Archive
►
2022
(1)
►
2月
(1)
►
2021
(24)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
►
2020
(60)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(7)
►
1月
(12)
▼
2019
(92)
►
12月
(13)
►
11月
(9)
►
10月
(3)
►
9月
(2)
►
8月
(3)
►
7月
(5)
▼
6月
(11)
JavaScript で Linq
Chronograf で OAuth 認証を行う
Chronograf を使ってみた
[C#] InfluxDB へのデータ書き込み
InfluxDB の概念
InfluxDB を docker-compose で動かしてみる
Visual Studio でのリモートデバッグ
[C#] 非同期処理中の例外キャッチについて
ASP.NET Core アプリケーションを IIS でホストする際にはまったこと
GitLab の Integrations でローカルネットワークを設定できない場合
[C#] Linq でインデックスを参照する場合の注意点
►
5月
(6)
►
4月
(17)
►
3月
(9)
►
2月
(6)
►
1月
(8)
►
2018
(100)
►
12月
(1)
►
11月
(11)
►
10月
(8)
►
9月
(6)
►
8月
(10)
►
7月
(10)
►
6月
(8)
►
5月
(9)
►
4月
(8)
►
3月
(14)
►
2月
(4)
►
1月
(11)
►
2017
(117)
►
12月
(14)
►
11月
(20)
►
10月
(17)
►
9月
(19)
►
8月
(10)
►
7月
(8)
►
6月
(3)
►
5月
(6)
►
4月
(5)
►
3月
(2)
►
2月
(8)
►
1月
(5)
►
2016
(91)
►
12月
(5)
►
11月
(9)
►
10月
(11)
►
9月
(9)
►
8月
(6)
►
7月
(14)
►
6月
(14)
►
5月
(11)
►
4月
(10)
►
3月
(2)
►
2015
(23)
►
12月
(4)
►
11月
(2)
►
10月
(8)
►
9月
(8)
►
7月
(1)
►
2013
(3)
►
11月
(1)
►
9月
(1)
►
7月
(1)
►
2012
(2)
►
7月
(1)
►
6月
(1)
►
2011
(1)
►
9月
(1)
►
2009
(1)
►
7月
(1)
►
2008
(2)
►
11月
(1)
►
7月
(1)
►
2007
(3)
►
10月
(3)