mudatad: собственно задача не редкая и в общем-то не сильно сложная.
Как образчики:
D-Link DFL-210/260/270 либо Clavister
Балансировка www.dlink.ru/u/faq/85/926.html - я бы это назвал даже не инструкцией, а комиксом
HA кластер - аналогично: www.dlink.ru/u/faq/85/494.html
То же самое можно увидеть на хелпах микротика
В принципе не раз доводилось видеть как просто продвинутые виндоюзеры (именно юзеры, а не админы) справлялись с такими задачами погуглив несколько минут
cjitkul33: таблица-то распухнет, но каждое поле будет в индексе => это будет быстро, а поиск в неких строках или их эквивалентах - это перебрать все строки и поискать в каждой. Примерно как искать в толстой книжке по глоссарию или же перелистывать все страницы.
а запрос собственно примитивен:
select
*
from table
where
sensId=555
and (param_id=1 and param_value>123)
and (param_id=2 and param_value<123)
and datetime between date_from and date_to
различие в условии лишь в том, что вместо paramX ? val фигурирует (param_id=X and param_value ? val)
p/s/ И да, арифметика распухания:
param1 - это 6 байт, двоеточие - еще байт, точка с запятой - еще, ну и если значения гуляют в пределах 256 значений - еще байт... то бишь 9 байт, а
id параметра - пусть 4 байта+1 байт на значение = 5 байт
вот таким вот образом сама таблица со множеством строк, но с правильными колонками получится в два раза... вру в 1.8 раза меньше -)))
cjitkul33: скорее всего - не поняли.
Попробую еще раз свое видение:
1. ориентируемся на классические "прямоугольные" таблицы
2. структура таблиц вида:
- id датчика
- тип параметра
- значение параметра
3. получая данные с датчиков - мы однократно разбираем строку списка на отдельные параметры и помещаем в базу по строчке на параметр
Собственно все.
Дальнейшие запросы на все случаи жизни будут совершенно элементарными.
Притом что характерно - эти запросы будут отлично пониматься оптимизатором SQL и отрабатываться максимально эффективно.
Далее, развив конструкцию - можно добавить "настроечные таблицы" где будут заданы для каждого типа параметров допустимые диапазоны - опять же простейшим запросом аж с одним join получить грубо говоря разбивку по исправному/сбойному состоянию
Развив конструкцию еще на шаг - добавим таблицу групп оборудования и опять же одно-пара-строчно получим "степень сбойности" посчитав соотношение параметров группы датчиков в допуске и вне допуска
cjitkul33: почему? какие сложности?
а сборка их "в кучу" - это значит на каждом телодвижении разбирать/распарсивать эту кучу...
из муки, сахара, молока, дрожжей, воды, соли - можно сделать блинчики, можно пирожки, можно брагу в конце концов, а вот из их смеси - что-то одно (в зависимости от того как и что с чем смешали)
dinegnet: upnp, µtp например, еще бочком тут и nat-traversal
те же торрент-клиенты перебирают разные варианты обходов nat (в силу множества разных nat)
ГОСТа на эти технологии нет, так же как и стандартизированных названий.
cjitkul33: почему же, вполне вписывается
просто для конкретного датчика будет записываться ровно столько строк, сколько параметров
А при наличии информации о типе параметра и допустимых значениях - можно будет еще и отсеивать "плохие". Любые варианты "упаковки" этого в json или просто строки - просто потребуют при каждом обращении распаковки собственно в тот же вид, что я описал.
1. На мой взгляд там, где тип известен - все-таки явное указание типа будет лучше
2. Мой взгляд собственно вырос из эксплуатации как жестко типизированных языков так и совсем нетипизированных,
3. где [в некоторых нетипизированных языках] можно было написать где-нибудь в редкой ветке
Неужели сложно понять, что п.1 - мнение, п.2 и далее - причины почему так лично у меня, где совершенно не фигурирует шарп (его тогда еще просто не существовало)
Как образчики:
D-Link DFL-210/260/270 либо Clavister
Балансировка www.dlink.ru/u/faq/85/926.html - я бы это назвал даже не инструкцией, а комиксом
HA кластер - аналогично: www.dlink.ru/u/faq/85/494.html
То же самое можно увидеть на хелпах микротика
В принципе не раз доводилось видеть как просто продвинутые виндоюзеры (именно юзеры, а не админы) справлялись с такими задачами погуглив несколько минут