Мой прецедент для infuxDB предназначен для хранения и анализа данных процесса, поступающих от разных ПЛК. Я визуализирую эти данные, используя grafana. В первом пилоте я использовал руководящие принципы проектирования схемы из infuxDB, используя общее имя измерения и разделяя различные источники значений с помощью тегов.Схема схемы в infuxdb
Например, когда у меня есть 2 насоса в «кислоты» группы насоса и 2 насоса в «каустической» насоса группы, о которых я RECOND давление:
- 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, например. Хотя этот способ записи данных соответствует принципам проектирования схемы для infuxDB (я думаю), он очень запутан для нетехнических людей, которые не привыкли работать и думать в SQL, как языки.
Поэтому я соблазн хранить данные в способе, которым они привыкли, и общий способ работы в аналогичных продуктах (историки):
- ACID_pump_1_pressure
- ACID_pump_2_pressure
- CAUSTIC_pump_1_pressure
- CAUSTIC_pump_2_pressure
Это сделало бы его гораздо проще для конечного пользователя создавать тенденции, поскольку 1 измерение = один источник данных, и им не нужно беспокоиться о статьях where
и group by
.
Может ли кто-нибудь указать мне на некоторые подсказки, какое влияние последнее оказало бы на производительность и хранение в режиме infuxDB. Будут ли данные занимать больше места таким образом? Пожалуйста, не то чтобы последний способ мог привести к нескольким тысячам измерений, но их мощность была бы равна 1.
Привет, спасибо за ваш ответ. Измерения, обычно требуемые на фабриках, не так легко структурированы, как загрузка сервера и использование памяти в центрах обработки данных, например.Когда пользователь заинтересован в потоке насоса, он хочет поток этого насоса, а не какой-либо другой. Я хотел бы знать, что есть производительность/память, если я буду использовать отдельные измерения для каждого значения? – coussej
@coussej AFAIK, нет никаких штрафов с точки зрения хранения или производительности, если вы храните определенный тип значения за период времени, так как временной ряд «A» состоит из значения расхода всех насосов, а временные ряды «B» состоят из другого параметр всех насосов. Поскольку запросы, когда они выполняются, специфичны для временного ряда, вы не увидите никакой разницы по сравнению с хранением нескольких типов значений за один временной ряд. И помните, что база данных может иметь несколько временных рядов (как таблица в SQL DB) – Srikanta