Как хранить логи, чтобы можно было делать по ним запросы?
От: ionoy Эстония www.ammyui.com
Дата: 22.04.15 09:01
Оценка:
Есть устройство, которое шлёт телеметрию и есть программа, которая этим устройством управляет.

На данный момент все исходящие и приходящие пакеты сохраняются в текстовом файле. Кроме пакетов туда же пишутся события программы, которые нужно логировать.

Хочу сделать центральный сервер, куда можно было бы все эти данные загружать и в последствии делать по ним выборку.

Логи вида: время, 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?
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 22.04.2015 16:41 ionoy . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.