SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.05.2009 18:02:37

brokoli
Участник
Зарегистрирован: 26.02.2009
Сообщений: 10

большая таблица innodb

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

как решатся такие вопросы?
больше серверов?больше оперативки?

Неактивен

 

#2 20.05.2009 20:36:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: большая таблица innodb

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

Так что 8 гигабайт вполне достаточно smile

Больше серверов и больше оперативки — замечательно. Еще можно подумать о
partitioning, тоже может оказаться полезным.

Да, 4Гб сортировать при вставке — не очень приятное занятие, разбивать табличку
стоит в любом случае.

Неактивен

 

#3 21.05.2009 00:40:48

brokoli
Участник
Зарегистрирован: 26.02.2009
Сообщений: 10

Re: большая таблица innodb

с кручением логов все в порядке.
используя cronolog создаем каждый час новый файл с логами и предыдущий парсим.
но если трафика много, то за месяц накопится несколько гигабайт данных в таблице.
а еще нужно хранить данные за предыдущий месяц для того чтобы посчитать объем трафика.

ладно..предположим сделали partitioning по месяцам - в каждой табличке данные за месяц. если объем такой таблицы будет меньше 8 гиг то все хорошо.

а если больше 8 гигабайт? при условии что нам нужна сумма по столбцу за этот месяц. будет нечто вроде sum(size) from table where date beetween '2009-05-01' and '2009-06-01'.
как оптимизировать в таком случае?

Отредактированно brokoli (21.05.2009 00:42:40)

Неактивен

 

#4 21.05.2009 14:08:58

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: большая таблица innodb

Ну проедетесь по диску один раз, ничего страшного ведь?
Если это регулярный запрос, то можно сделать табличку рядом с готовыми счетчиками
и добавлять туда +1 при заведении новой строки.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson