Есть устройство, которое шлёт телеметрию и есть программа, которая этим устройством управляет.
На данный момент все исходящие и приходящие пакеты сохраняются в текстовом файле. Кроме пакетов туда же пишутся события программы, которые нужно логировать.
Хочу сделать центральный сервер, куда можно было бы все эти данные загружать и в последствии делать по ним выборку.
Логи вида: время, in/out/event, payload
В payload может быть как пакет в виде json, так и информация о событии внутри программы (пользователь нажал кнопку, запуск процесса и тд).
Цель базы данных в том, чтобы можно было делать такие запросы (условно):
select payload.voltage_battery
from logs
where payload_type = 'sys_status' and
operator_name = 'NAME' -- это и следуещее поле будет добавлено к каждой 'строке' лога
run_id = 122 -- чтобы можно было различать разные запуски системы
order by payload.voltage_battery descending
Это, конечно, самый элементарный пример, хотелось бы делать более сложные выборки с джойнами на себя и прочим.
Кто-нибудь занимался чем-то подобным?
SQL/NoSQL?
Всё в одной таблице или нескольких?
Может, вообще, сделать таблицу вида: name/value?