Назад | Перейти на главную страницу

Хранение журнала приложений

Я разрабатываю веб-приложение с большим количеством событий, которые нужно отслеживать. Я установлю приложение в ок. 10, и мне нужно сохранить событие отслеживания в базе данных для анализа.

Я буду получать 100 тыс. Событий в минуту = 144 миллиона событий в день, когда строка события (тип события, идентификатор пользователя, идентификатор объекта, идентификатор контекста, идентификатор сеанса, временная метка)

Я думаю о том, чтобы сохранить их в таблице MyISAM, а затем каждый день менять имя таблицы в соответствии с датой (например, log20090826, log20080827 и так далее). Есть ли у вас другие / лучшие идеи? Я могу использовать другие СУБД, если они более производительны.

еще один вопрос: есть ли какой-либо способ узнать метку времени строки без ее явного написания (без использования места)?

спасибо Андреа

Для такого большого объема данных я бы рекомендовал вам использовать текстовые файлы журналов и анализировать их. Через 6 месяцев у вас будет 26 000 миллионов записей, и я уверен, что вы не сможете анализировать их с помощью SQL.

Также, если это важно, вы можете попытаться записать данные в BigTable или Hadoop. Эти базы данных, отличные от SQL, вполне справятся со своей задачей благодаря вашей модели данных.

Вот это статья, которая вам поможет.

MyISAM в порядке, просто убедитесь, что вы используете "INSERT DELAYED" подготовлен запрос, поэтому сервер немного расслабится :)