Миллиард строк для MySQL....

docker

Новичок
Миллиард строк для MySQL....

Всем привет.
Задался вот вопросом. Нужно информацию из логов в базе разместить.
В итоге и меня получается таблица около 800 000 000 строк пока и за год примерно на столько же добавляться будет.

MySQL не сильно тормозить будет при работе с такой таблицей, если в запросах почти всегда будет присутствовать группировка и сортировка и условие отбора, и частенько даже постотбор (having)?

Если такой вариант не приемлимый, то что посоветуете? Другой базы у нас нет.

Спасибо!
 

clevel

Новичок
хех, если ты собрался на этих записях делать сложные выборки, в режиме реального времени... лучше пойди, удавись сразу...
Я делаю так:
1.храню в txt файлах статистику по месяцам, именование такое 102004.txt, 092004.txt, плюс позицию смещения конца записи файла текущего месяца.
2.По крону дергаю пхп скрипт через 15 мин, он выдергивает ПОСЛЕДНИЕ данные за 15 минут и добавляет в таблицы со СВОДНЫМИ данными.
3.На основе этих сводных данных я генерю графики статистики...
ИТОГО: удобно, быстро, единственный минус -задержка статистки до 15 минут... но этот интервал можно изменить...
 

docker

Новичок
Originally posted by clevel
хех, если ты собрался на этих записях делать сложные выборки, в режиме реального времени... лучше пойди, удавись сразу...
Я делаю так:
1.храню в txt файлах статистику по месяцам, именование такое 102004.txt, 092004.txt, плюс позицию смещения конца записи файла текущего месяца.
2.По крону дергаю пхп скрипт через 15 мин, он выдергивает ПОСЛЕДНИЕ данные за 15 минут и добавляет в таблицы со СВОДНЫМИ данными.
3.На основе этих сводных данных я генерю графики статистики...
ИТОГО: удобно, быстро, единственный минус -задержка статистки до 15 минут... но этот интервал можно изменить...
Крон на нашем сервере нельзя устанавливить. С любыми другими планировщиками - таже фигня, ну кроме стандартного, window-го "at". Поэтому твоим путем я могу пойти, но только если найду где-нибудь маны по "at"

А что за сводные данные? Там типа средние величины за месяц, или что-то вроде этого, но смысл - уже осредненные?
 

docker

Новичок
Но все же!! Нормально для MySQL миллирдное количество записей в таблицах, если по объему каждая запись... ну совсем ничего... :) ??
 

ar2r

Guest
Так проверь. Забей скриптом в таблицу миллиард строк, похожих на твои реальные. И выполни пару типовых запросов - а потом сам смотри устраивает тебя это или нет.
 

fixxxer

К.О.
Партнер клуба
Если грамотно проставить индексы, и крутится это все на достаточно мощном выделенном сервере - время выполнения запроса может быть вполне приемлемым.
 

chira

Новичок
миллиард записей - это для любой базы серьезно.
поэтому нужно применять дополнительные средства оптимизации.
один из приемов , как сказал clevel , это создание сводных таблиц т.е. заранее сгруппированных.
в других базах есть "прозрачные" механизмы ...
 

Фанат

oncle terrible
Команда форума
опять вопрос из серии "не умею/не хочу сделать прямо", давайте, помогайте мне сделать криво.
 

Falc

Новичок
docker
Можно нагрузить сервер своими групировками по самый некуда. Но лучше сделать сводные таблицы и не насиловать сервер.
 

Yurik

/dev/null
А может изменить логику ведения статистики? Переписать структуру таблицы и логику так чтобы заменить большинство insert на update ?
 

Falc

Новичок
Yurik
Можно, если жалко места на диске и не нужна ПОЛНАЯ статистика.
 

desperado

Новичок
сразу вспоминается, как один знакомый дергал по запросы средние данные по посещениям за нный месяц ннго года... на вопроса - а почему их не просчитать и не скинуть? был ответ - а вдруг изменятся... я тоже "подумал", а вдруг изменится кол-во посетителей за прошлогодний январь... правдо это пока не будет машин времени в каждом доме :)...

я храню данные тольо за месяц, каждый этап (сводная за сутки... за неделю) сводятся отдельно... все что интересует - оно есть, в том числе и загрузка по часам.
 
Сверху