УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

Архивирование значений на БД.


Автор Повідомлення
Повідомлення створено: 13. 12. 2008 [16:06]
Dima
Dima Podolinsky
Автор теми
Зареєстрован(а) с: 04.12.2008
Повідомлення: 14
В целях экономии ресурсов хочется сохранять в базу только изменения значений, т.е. не добавлять запись в базу, если измеренное значение равно предыдущему. Можно ли?
Повідомлення створено: 13. 12. 2008 [22:04]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
А получать значение за нужное время как? Архивирование на БД и так не быстро, а чтение таким образом вообще станет непредсказуемым по времени.
Если Вам нужна экономия то используйте файловый архив. БД это не тот случай. Кроме того экономия там мизерна.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 06. 02. 2017 [21:17]
dbelovol
Дмитрий Беловол
Зареєстрован(а) с: 02.02.2017
Повідомлення: 4
"Dima" wrote:

В целях экономии ресурсов хочется сохранять в базу только изменения значений, т.е. не добавлять запись в базу, если измеренное значение равно предыдущему. Можно ли?


"roman" wrote:

А получать значение за нужное время как? Архивирование на БД и так не быстро, а чтение таким образом вообще станет непредсказуемым по времени.
Если Вам нужна экономия то используйте файловый архив. БД это не тот случай. Кроме того экономия там мизерна.


Разговор давний, может с момента публикации что-то в этом направлении прикручено? Если да, то не подскажете, где почитать. Заранее благодарен за информацию.
ЗЫ. Меня интересует не просто не писать, но и иметь возможность задания апертуры для архивируемого атрибута (устранять архивирование дребезга). Был бы очень признателен, если бы пояснили, почему чтение станет непредсказуемым по времени? Точнее, почему время чтения может возрасти от такого способа записи? Не совсем понятно, почему экономия мизерна. В моей задаче (работа с контроллерами вибрации) требуемые атрибуты постоянно "дрожат" в пределах 1-2% шкалы. При записи раз в секунду сто таких параметров сжирают в час в районе 100М. А так можно принудительно писать раз в минуту и превратить это в 1,5М. При этом использовать только минутный архиватор я не могу, так как если затрясет - нужно разрешение в секунду минимум.
Повідомлення створено: 06. 02. 2017 [21:49]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"dbelovol" wrote:

Разговор давний, может с момента публикации что-то в этом направлении прикручено? Если да, то не подскажете, где почитать. Заранее благодарен за информацию.

Для архивации на БД ничего, а для архивации на FS в соответствующем модуле и читайте.

"dbelovol" wrote:

ЗЫ. Меня интересует не просто не писать, но и иметь возможность задания апертуры для архивируемого атрибута (устранять архивирование дребезга). Был бы очень признателен, если бы пояснили, почему чтение станет непредсказуемым по времени? Точнее, почему время чтения может возрасти от такого способа записи? Не совсем понятно, почему экономия мизерна. В моей задаче (работа с контроллерами вибрации) требуемые атрибуты постоянно "дрожат" в пределах 1-2% шкалы. При записи раз в секунду сто таких параметров сжирают в час в районе 100М. А так можно принудительно писать раз в минуту и превратить это в 1,5М. При этом использовать только минутный архиватор я не могу, так как если затрясет - нужно разрешение в секунду минимум.

После реализации групповой архивации нескольких параметров на БД "почему чтение станет непредсказуемым" и всякие потенциальные упаковки отдельных сигналов становятся в принципе противоречивыми. И кстати, именно групповая архивация была добавлена для повышения производительности архивации на БД, и это именно тот случай когда повышение производительности исключает оптимизацию в хранении в виду изначально относительно низкой производительности доступа.

Ещё раз, если нужно оптимальное архивирование с упаковкой то это в принципе не про архивацию на СУБД, а про архивацию на ФС! Архивация на СУБД для возможности обмена с другими системами и не более того.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 07. 02. 2017 [06:54]
IrmIngeneer
Константин \m/
Contributor
Sponsor
Зареєстрован(а) с: 16.09.2010
Повідомлення: 185
"dbelovol" wrote:

В моей задаче (работа с контроллерами вибрации) требуемые атрибуты постоянно "дрожат" в пределах 1-2% шкалы. При записи раз в секунду сто таких параметров сжирают в час в районе 100М. А так можно принудительно писать раз в минуту и превратить это в 1,5М. При этом использовать только минутный архиватор я не могу, так как если затрясет - нужно разрешение в секунду минимум.


Может, включать/отключать соответствующий архиватор?
Повідомлення створено: 07. 02. 2017 [15:04]
dbelovol
Дмитрий Беловол
Зареєстрован(а) с: 02.02.2017
Повідомлення: 4
"IrmIngeneer" wrote:

"dbelovol" wrote:

В моей задаче (работа с контроллерами вибрации) требуемые атрибуты постоянно "дрожат" в пределах 1-2% шкалы. При записи раз в секунду сто таких параметров сжирают в час в районе 100М. А так можно принудительно писать раз в минуту и превратить это в 1,5М. При этом использовать только минутный архиватор я не могу, так как если затрясет - нужно разрешение в секунду минимум.


Может, включать/отключать соответствующий архиватор?

Если отключать архиватор, то вырубятся все его атрибуты, а мне нужно по апертуре отключать конкретный атрибут конкретного параметра, оставляя другие включенными. Задача была бы решена, если бы контроллер мог динамически управлять свойствами атрибутов своих параметров, но я не знаю, как это сделать и можно ли этого добиться в принципе. Конкретнее, можно ли как-то в программе на JavaLiceCalc шаблона сослаться на свойство атрибута параметра контроллера, использующего данный шаблон?
Повідомлення створено: 07. 02. 2017 [16:24]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"dbelovol" wrote:

Если отключать архиватор, то вырубятся все его атрибуты, а мне нужно по апертуре отключать конкретный атрибут конкретного параметра, оставляя другие включенными. Задача была бы решена, если бы контроллер мог динамически управлять свойствами атрибутов своих параметров, но я не знаю, как это сделать и можно ли этого добиться в принципе. Конкретнее, можно ли как-то в программе на JavaLiceCalc шаблона сослаться на свойство атрибута параметра контроллера, использующего данный шаблон?

Можно: http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-10

Learn, learn and learn better than work, work and work.
Повідомлення створено: 07. 02. 2017 [22:05]
dbelovol
Дмитрий Беловол
Зареєстрован(а) с: 02.02.2017
Повідомлення: 4
Большое спасибо. Так оперативно отвечаете - даже удивительно.
Повідомлення створено: 08. 02. 2017 [16:18]
dbelovol
Дмитрий Беловол
Зареєстрован(а) с: 02.02.2017
Повідомлення: 4
Функции объекта архива (SYS.Archive["va_Archive"]):
ElTp cfg(string nm) — получение значения конфигурационного поля nm объекта.

Откуда взять имя интересующего меня конфигурационного поля?
JAVASCRIPT
control = SYS.Archive["va_1_A_Ae"]; 
rez1=control.cfg("ID");
l
дает rez1 = 1_A_Ae
JAVASCRIPT
control = SYS.Archive["va_1_A_Ae"]; 
rez1=control.cfg("Имя");
l
дает rez1 = <EVAL>



и еще. При помощи
JAVASCRIPT
control = SYS.Archive["va_1_A_Ae"]; 
rez1=control.status();
l
можно посмотреть статус. А как его установить?

Заранее благодарен за пояснения.



3600