2016-05-12 5 views
2

私は、異なるPLCからのプロセスデータを格納し、傾向を把握するために、流入データベースを使用しました。私はgrafanaを使ってこのデータを可視化します。最初のパイロットでは、一般的な測定名を使用し、さまざまな値ソースをタグで区切って、influxDBのスキーマ設計ガイドラインを使用しました。例えばinfluxdbのスキーマ設計

、I 2「は酸」ポンプ群とIが圧力recondれた「苛性」ポンプ群における2つのポンプにポンプを有する:私のユースケースで

- pump_pressure {pump: pump_1, group: acid} 
- pump_pressure {pump: pump_2, group: acid} 
- pump_pressure {pump: pump_1, group: caustic} 
- pump_pressure {pump: pump_2, group: caustic} 

を、端-userはGrafanaを使って独自の傾向を作りたいと考えています。このようなデータの記録方法は、influxDBのスキーマ設計ガイドラインに準拠していますが、言語のようにSQLで作業したり考えたりすることに慣れていない非技術者にとっては、非常に混乱します。

そこで、私は、それらが使用されているような方法でデータを保存するために誘惑され、類似製品(歴史家)での作業の一般的な方法ですよ:

- ACID_pump_1_pressure 
- ACID_pump_2_pressure 
- CAUSTIC_pump_1_pressure 
- CAUSTIC_pump_2_pressure 

これはそれがはるかに容易になるだろうエンドユーザーが傾向を作るためには、1測定= 1データソースとして、whereおよびgroup by句を心配する必要はありません。

後者の影響がinfluxDBのパフォーマンスとストレージにどのような影響を及ぼすかを誰かが指摘できますか。この方法でデータの容量が増えるのでしょうか?後者の方法は数千回の測定につながることはありませんが、それらの基数はすべて1になります。

答えて

4

それはもっと自分のユースケースに収まる場合は、それを行うことができない理由はありません。 InfluxDBのタグ付け機能の完全な機能が解消されるため、ここから始まるガイドラインがあります。

パフォーマンスやストレージの影響はありません。内部的に、InfluxDBは、キーが測定名とタグのキーと値のペアの組み合わせである各固有の測定「キー」に基づいて新しいシリーズを作成します。

すなわち、これらのそれぞれが独立したシリーズです。

pump_pressure,pump=pump_1,group=acid 
pump_pressure,pump=pump_2,group=acid 
pump_pressure,pump=pump_1,group=caustic 
pump_pressure,pump=pump_2,group=caustic 

も、これらのそれぞれが独立したシリーズです。

ACID_pump_1_pressure 
ACID_pump_2_pressure 
CAUSTIC_pump_1_pressure 
CAUSTIC_pump_2_pressure 

EDIT、ソース:私はInfluxData

で働きます私は@srikantaと完全に同意し、私はタグを保持することをお勧めしますが、dbのユーザーとやりとりする(または教育する)別のソリューションを見つけることです。

1

確かに、この方法を使うことができます。しかし、これはスケーラブルではありません。使用するポンプの数が増えるとどうなるでしょうか?また、このアプローチは、ポンプの数が時系列の数と等しい場合に機能します。しかし、それは管理する痛みになります。

テクニカルではないユーザーとSQLクエリーとのやりとりを避けるために問題がある場合は、それに対する別のアプローチを検討し、データベースの「スキーマ」を変更しないでください。

いくつかのより多くの洞察力 - >https://blog.zhaw.ch/icclab/influxdb-design-guidelines-to-avoid-performance-issues/

+0

こんにちは、お返事ありがとうございます。工場で一般的に必要とされる測定値は、例えば、データセンター全体でのサーバーのCPU負荷やメモリ使用量ほど容易に構成されていません。ユーザーがポンプの流れに興味があるとき、彼はそのポンプの流れを望み、他のものの流れは望まない。それぞれの価値について別々の測定値を使用すると、パフォーマンス/ストレージペナルティがあることを知りたいのですが? – coussej

+1

@coussej AFAIK、「A」時系列がすべてのポンプの流量値で構成され、「B」時系列が別のもので構成されているような、時系列ごとに特定のタイプの値を保存すると、ストレージまたはパフォーマンスに関して罰則はありませんすべてのポンプのパラメータ。実行されたクエリは時系列に固有のものなので、複数のタイプの値を1つの時系列に格納する場合と比較して違いはありません。そして、データベースは複数の時系列を持つことができます(SQL DB内のテーブルと同じように) – Srikanta

関連する問題