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

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

Модератор: immortal

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

первый и последний из серии повторяющихся
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am
Благодарил (а): 23 раза
Поблагодарили: 4 раза

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

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

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

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

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

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