[РЕШЕНО] Повторяющиеся данные в БД и их запись.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1408
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 181 раз
Поблагодарили: 304 раза

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение Bagir » Ср апр 04, 2018 7:33 pm

При записи одинаковых значений в свойство с историей, в базе данных действительно не будет повтора, но время последней записи обноситься. При этом можно корректно строить графики и считать средние значения. Череда повторяющихся записей в базе данных не нужна. Это излишняя информация и расход памяти.
Windows XP, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
xor
Сообщения: 1520
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 156 раз
Поблагодарили: 449 раз

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение xor » Ср апр 04, 2018 11:51 pm

Но при этом же потеряется время наступления события, нельзя будет ответить, например, на вопрос -- во сколько пользователь пришел домой?
Часто интересно время наступления какого-то события, чем его окончание
Аватара пользователя
Bagir
Сообщения: 1408
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 181 раз
Поблагодарили: 304 раза

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение Bagir » Пт апр 06, 2018 9:18 am

Да, конечно же при таком варианте нужно писать всё. Или придумать другой вариант для этого свойства объекта. Можно попробовать добавить случайное число, которое можно будет потом отделить. Или в виде этого уникального числа использовать значение таймера. Просто глобальная настройка изменит правила истории для всей системы. Например я опрашиваю некоторые датчики раз в минуту. Страшно подумать что будет в таблицах через год истории, если писать всё.
Windows XP, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
xor
Сообщения: 1520
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 156 раз
Поблагодарили: 449 раз

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение xor » Пт апр 06, 2018 6:49 pm

Это у меня, наверное, профессиональное. В бухгалтерских базах важно знать момент изменения остатка.
Попробуй погасить кредит на день позже))

Отправлено с моего Redmi 4X через Tapatalk


ksv
Сообщения: 97
Зарегистрирован: Вт июл 17, 2018 10:19 am
Благодарил (а): 23 раза
Поблагодарили: 2 раза

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение ksv » Вт июл 24, 2018 1:22 pm

У меня немного другой вопрос по этой же теме.
В моей БД в phistory абсолютно все значения с каждого датчика продублированы. То есть, с одной стороны - не пишутся повторы между изменениями параметра. Но, с другой стороны - пишутся границы неизменяемого диапазона, то есть одно и то же значение заносится в БД дважды - как только оно изменилось на новое, и в последний момент перед тем, как изменилось на другое. Вопрос - зачем так сделано?

Это очень мешает при построении графиков, так они выглядят рублеными, а если удалить каждое второе значение, то уже более естественными (хотя и тип spline тут неважно справляется, нужен line).

Можно ли как-то избавиться от дубликатов?

p.s. Не, наврал, не границы диапазона пишутся, а просто два значения подряд с интевалом 10 сек (у меня такой интервал опроса сейчас)
Вложения
phistory.PNG
phistory.PNG (80.72 КБ) 1349 просмотров
t2.PNG
t2.PNG (205.59 КБ) 1349 просмотров
phistory.PNG
phistory.PNG (80.72 КБ) 1349 просмотров
t2.PNG
t2.PNG (205.59 КБ) 1349 просмотров
t1.PNG
t1.PNG (169.1 КБ) 1349 просмотров
Logrus
Сообщения: 1584
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 276 раз
Поблагодарили: 311 раз

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение Logrus » Вт июл 24, 2018 2:11 pm

То есть, с одной стороны - не пишутся повторы между изменениями параметра. Но, с другой стороны - пишутся границы неизменяемого диапазона, то есть одно и то же значение заносится в БД дважды - как только оно изменилось на новое, и в последний момент перед тем, как изменилось на другое. Вопрос - зачем так сделано?
вы неправильно понимаете, пишется и перезаписывается последнее такое же значение
есть в конфиге настройка что б сохранялись все, но бд (горшочек не вари)
собственно это ответ и на последний вопрос
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
ksv
Сообщения: 97
Зарегистрирован: Вт июл 17, 2018 10:19 am
Благодарил (а): 23 раза
Поблагодарили: 2 раза

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение ksv » Вт июл 24, 2018 2:34 pm

Logrus писал(а):
Вт июл 24, 2018 2:11 pm
вы неправильно понимаете, пишется и перезаписывается последнее такое же значение
Мне как раз не надо чтоб всё. Правильно, когда не всё. Пусть перезаписывается последнее, откуда дубликаты тогда?
Logrus
Сообщения: 1584
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 276 раз
Поблагодарили: 311 раз

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение Logrus » Вт июл 24, 2018 3:26 pm

первый и последний из серии повторяющихся
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
ksv
Сообщения: 97
Зарегистрирован: Вт июл 17, 2018 10:19 am
Благодарил (а): 23 раза
Поблагодарили: 2 раза

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение ksv » Вт июл 24, 2018 3:32 pm

Во-первых, я тоже так думал, но если посмотрите на времена внимательно, то интервал между дубликатами 10 сек - это интервал опроса датчиков. То есть это не первый и последний из серии.
Во-вторых, даже если бы был первый и последний из серии, то какой в этом смысл? Это мешает корректной отрисовке графиков. Да и само по себе не имеет смысла ни с какой точки зрения анализа данных. По факту нового значение и без этого понятно, какое было предыдущее. А как сейчас - БД распухает вдвое больше возможного, причём совершенно бесполезно.
Logrus
Сообщения: 1584
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 276 раз
Поблагодарили: 311 раз

Re: [РЕШЕНО] Повторяющиеся данные в БД и их запись.

Сообщение Logrus » Вт июл 24, 2018 3:35 pm

я у себя смотрел и когда 0 - 1 - 1 - 1 смотрел во сколько 3 и 4 позиции и далее
п.с. вы очень однобоко рассматриваете
п.п.с. и вообще зачем интервал 10 сек. вот объясните какой в этом сакральный смысл при измерении температуры в помещении или что/где?
п.п.п.с. опрос должен быть чаще чем инерционность изменения показаний, если температура помещения минута нормально, ну тут больше условий если вспоминать ТАУ
Последний раз редактировалось Logrus Вт июл 24, 2018 3:41 pm, всего редактировалось 1 раз.
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
Ответить