|
|
|
Работа с интервальными данными
|
|||
|---|---|---|---|
|
#18+
Добрый день! Вот такая задачка: Есть N устройств, с которых поступает информация в виде ID устройства, штампов времени начала и окончания, кода раздела (int), и некого значимого положительного значения (integer). Все эти данные пишутся в таблицу Код: plaintext 1. 2. 3. 4. - во-первых, в 97% случаев получим мало значимое поле; - во-вторых, забьем таблицу "лишними" данными, что не есть хорошо при приросте таблицы в 100000 записей в сутки; - в-третьих, отчетные запросы сильно усложняются. Собственно, проблема такова: заказчик хочет видеть (в оперативном режиме) график скорости поступления данных за любой период (час, день, месяц) по устройству в целом и по разделам. В первоначальном варианте таблицы - это реализуется легко и красиво, но в ряде случаев не отражает реальной ситуации. Во варианте доп. поля не очень понятно, как выбирать. Например, есть запись: Код у-ва 34, штамп начала 21.01.09 13:16, штамп завершения 21.01.09 17:34, данные 945674. Заказчик хочет график за 21.01.09 с 14:00 до 15:00. Простой Код: plaintext Код: plaintext Была еще идея преобразовывать "длинные" отчеты в список коротких "минутных" и хранить их в таком виде с соответствующим дроблением данных, но в таком варианте получается, что придется добавлять записи не в конец таблицы (по PK и штампу времени старта), а в середину, что потребует корректировки индексов. Что, тоже не очень хорошо... К тому же, не ясно, что делать, если, паче чаяния, заказчик захочет изменить интервал дискретизации в ту или иную сторону. Может, сталкивался кто-то с реализацией таких задач? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 11:42 |
|
||
|
Работа с интервальными данными
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev Во варианте доп. поля не очень понятно, как выбирать. Например, есть запись: Код у-ва 34, штамп начала 21.01.09 13:16, штамп завершения 21.01.09 17:34, данные 945674. Заказчик хочет график за 21.01.09 с 14:00 до 15:00. Простой Код: plaintext 1. 2. Код: plaintext 1. Может, сталкивался кто-то с реализацией таких задач? Вообще-то нормальная реализация. И потом, в запросе можно объединить условия: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=88&tid=1543247]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 359ms |

| 0 / 0 |
