всем здрасте
ситуация на сейчас такая каждый день лог сквида загоняется в одну базу в одну таблицу
как следствие сейчас там около 1,5 кк строк и занимает все это дело около 150 Мб => время выборки оч.большое
машина на которой все это реализовано 700 Мгц и винт 20 Гб
необходимо чтобы данные занимали как можно меньше места на диске (главное условиие)
ну и время выборки по всем!(а там их может быть лет за 5 , чисто теоретически конечно но все же) данным было не слишком большим.
Строки должны заносится все так как важно время и обьем выкаченной информации. Пользуются не часто, но оно необходимо.
как лучше организовать ?
сделать одну базу а в ней каждые допустим 2 месяца создавать таблицу ,
или каждые пол года например создавать новую базу и в ней каждые два месяца таблицу
а потом дампить ее и архивировать , а при необходмости разорхивировать и продключить
или еще как ?
подскажите
спасибо
СУБД mysql?
Если да, то отдельную таблицу на каждый месяц, уменьшать размер на диске таблиц прошлого (потому, как в них более не будут добавляться данные) месяца утилитой.. myisampack (кажется так называется)
для выбрки через несколько месяцев можно использовать таблицы типа MERGE
(http://www.mysql.ru/docs/man/MERGE.html )
Если ещё не читал тут обязательно прочитай:
http://dev.mysql.com/doc/mysql/ru/mysql-optimisation.html
для начала неплохо было бы нормально структурировать таблицу, и сделать индексы по полям. например, первым полем полем заносить отдельно год+месяц, затем дату, затем время, ну а потом уже остальные данные. Создать индексы для год+месяц, для даты. Это очень сильно ускорит выборку из таблицы за произвольный период времени. Если данные всё таки за не очень длительный период, то достаточно будет просто поля даты.