@dfhusfhgsuo3

Как лучше группировать данные для вывода БД?

Имеется таблица с более чем 1 миллиона записей, каждый день +100к примерно.

Каждая запись является уникальной записью действия уникального хоста.

Есть идея. Раз в день запускать скрипт, который будет переносить (рассчитывать, формировать) данные с таблицы с 1 миллионом записей, в новую, где кол-во строк в день будет уменьшено до 3000+ (на каждого пользователя).

Как лучше это реализовать, что бы не убить БД.

П.С. Но таким образом информация уже не будет обновлятся в реальном времени, что большой минус.
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 1
@lubezniy
Партиционирование или шардинг должны помочь. Грубо говоря, задача - сделать отдельные таблицы для разных хостов или действий и в зависимости от значения выбранного параметра для разделения добавлять запись в соответствующую таблицу. Партиционирование встроено в MySQL, но имеет свои ограничения. А шардинг делается на уровне скриптов. Плюс последнего - можно писать не только в разные таблицы, но и в разные БД даже на разных серверах (при высокой нагрузке так можно обеспечить масштабирование).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы