Записывать все запросы на сайт в базу данных - PullRequest
0 голосов
/ 24 мая 2009

Мне нужно регистрировать все сообщения и получать запросы на сайте в базе данных. Там будет две таблицы:

  • запросы с отметкой времени, идентификатором пользователя и запрошенным URI
  • параметры запроса с именем, значением и идентификатором запроса

Я буду использовать его только для аналитических отчетов один раз в месяц. Нет регулярного использования этих данных.

У меня около миллиона запросов в день, и таблица параметров запроса будет очень большой. Могу ли я обработать такую ​​большую таблицу в MySQL без проблем?

Ответы [ 3 ]

1 голос
/ 24 мая 2009

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

0 голосов
/ 24 мая 2009

Обычным решением проблемы такого типа является написание программы, которая анализирует журналы за весь месяц. Если вам не нужны сложные возможности MySQL, вы должны рассмотреть этот подход.

Если вам действительно нужна база данных, рассмотрите возможность анализа журналов в автономном режиме. В противном случае, если Ваша база данных выйдет из строя, Вы потеряете данные. Известно, что журналы довольно безопасны.

Табличные индексы не являются бесплатными. Чем больше у вас индексов, тем быстрее выполняются запросы, но чем больше у вас индексов, тем медленнее вставляются данные.

0 голосов
/ 24 мая 2009

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

PS. В моем проекте у нас огромный прайс-лист с несколькими миллионами продуктов, и он работает без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...