Соколинский Борис |
---|
В этом случае теряется все преимущество БД по сравнению с текстовым файлом. |
Не понял. Что теряется? Ничего не теряется. Просто у тебя должно быть ТРИ этапа.
1) Накопление данных
Данные складываются в БД как есть, без парсинга и преобразований. Задача этапа - сохранить данные максимально быстро и без потерь. Одноразово.
2) Предобработка, парсинг и формализация данных
Данные парсятся, параметры раскидываются по полям, а то и таблицам, конвертируются в необходимые типы, проводятся необходимые предобработки и предрасчёты. Одноразово, выполняется по завершении первого этапа.
3) Обработка и анализ
Получение необходимых результатов на основании обработанных данных. При необходимости - обращение к оригиналам. Сколько угодно раз.
Соколинский Борис |
---|
Меня беспокоит исключительно механизм передачи. Если программа упадет, намного больше шансов, что какая-то информация потеряется. |
Ну что за детский лепет? А если программа-логгер упадёт? вот только не говори, что невозможно - программа она программа и есть, упасть - только дай. Боишься за механизм передачи, сеть хреновая - значит, делай ещё локальную кэш-прослойку, которая примет логи, забуферит, и по мере возможности передаст на сервер. А лучше сеть переделать, разъёмы там перебить, хабы на коммутаторы поменять...
Соколинский Борис |
---|
у меня многопоточное приложение и логи пишутся отовсюду. |
Тем более - кэширующий процесс, в фоне, когда время есть, сливающий логи на сервер, не будет лишним.
Сколько у тебя там суммарно логов в одном сеансе, ежели в гигабайтах мерить?