へっぽこプログラマーの備忘録
プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。
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
TortoiseGit でコミットメッセージを変更する
image
NO IMAGE
smbclient で session setup failed: NT_STATUS_LOGON_FAILURE が表示される
Docker for Windows の設定
image
NO IMAGE
マージ元ブランチとマージ先ブランチ
image
NO IMAGE
TortoiseSVN ロック状態のチェック
TortoiseGit でブランチ間の差分を見る
image
NO IMAGE
Visual Studio で文字がにじむ(ぼやける)
image
NO IMAGE
AsciidocFX をビルドする
image
NO IMAGE
PowerShellでブレークポイントが設定できない場合
[Python] 文字列の判定で、None と空文字を同時に判定する
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
AI
1
Apache
3
AppVeyor
2
AsciiDoc
7
ASP.NET Core
55
Atom
4
AWS
5
AWS Cloud9
4
blockdiag
1
Blogger
13
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
chrony
1
Codecov
1
CSS
1
Docker
80
DokuWiki
4
Doxygen
1
draw.io
1
EasyTag
1
Electron
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
3
Firefox
6
Flask
1
Git
19
GitBook
4
GitBucket
7
GitHub
7
GitLab
39
Go
1
Google
1
Google Cloud Platform
1
Grafana
13
GStreamer
2
HTML
5
IIS
8
InfluxDB
14
JavaScript
15
Jekyll
2
Jenkins
7
Linux
34
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MkDocs
2
MongoDB
5
MVC
1
MVVM
6
nginx
3
NLog
3
Node.js
8
npm
1
NVIDIA
3
onvif
1
OpenAPI
2
OpenCV
4
OpenSSL
3
OpenVINO
2
ownCloud
2
pandas
1
Pine Script
1
PlantUML
5
Portainer
3
PowerShell
8
Prism
2
PySide
19
Python
88
PyTorch
1
RabbitVCS
1
Razor
3
redis
1
Redmine
33
Redoc
1
remark.js
2
rocketchat
10
Ruby
3
scikit-learn
1
shotcut
1
SignalR
1
Slack
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
StableDiffusion
1
Subversion
2
Swagger
1
Swarmpit
1
Syslog
3
Telegraf
6
Tesseract
3
TestLink
2
Tomcat
2
TortoiseGit
11
TortoiseSVN
2
Trading View
1
Traefik
3
Travis CI
1
Ubuntu
31
Visual Studio
39
Visual Studio Code
10
VSCode
8
Vue.js
8
Windows
62
Windows 10
5
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
5
WSL2
5
Xamarin
1
xUnit
5
yaml
1
yolo
1
アプリケーション
1
デザインパターン
1
テスト
1
バッチファイル
2
プログラミング
4
ライセンス
1
暗号資産(仮想通貨)
1
英語
2
確定申告
1
機械学習
1
強化学習
1
雑記
1
書籍
1
数学
1
正規表現
1
動画編集
1
Blog Archive
►
2024
(18)
►
9月
(5)
►
8月
(1)
►
7月
(2)
►
6月
(1)
►
4月
(2)
►
3月
(1)
►
2月
(5)
►
1月
(1)
►
2023
(30)
►
12月
(3)
►
11月
(5)
►
10月
(2)
►
9月
(1)
►
8月
(2)
►
7月
(4)
►
6月
(2)
►
5月
(3)
►
4月
(2)
►
3月
(2)
►
2月
(3)
►
1月
(1)
►
2022
(106)
►
12月
(5)
►
11月
(1)
►
10月
(3)
►
9月
(6)
►
8月
(7)
►
7月
(6)
►
6月
(13)
►
5月
(9)
►
4月
(15)
►
3月
(11)
►
2月
(14)
►
1月
(16)
►
2021
(85)
►
12月
(11)
►
11月
(6)
►
10月
(4)
►
9月
(10)
►
8月
(8)
►
7月
(4)
►
6月
(18)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
►
2020
(56)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(3)
►
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)