On 25.09.2008 11:42, Alexander V. Skvortsov wrote:

"Alexey Voytsehovich" сообщил/сообщила в новостях следующее:

Всем доброго дня. Наверное всех уже достал, но вопрос все равно пока
еще не решен.

Есть БД, в ней таблица величиной около 7 гигабайт. Внутри хранятся
данные обратным сроком на 7 дней назад. Такой формат обусловлен ТЗ,
изменить ничего не получится - уже пробовали.

В течение дня в базу добавляется данных примерно на 1 гигабайт, и тот
же самый 1 Гб удаляется ночью (все данные старше 7 дней)


Господа какой-то ***нёй страдают.

В постановке "2 раза в минуту" получаем 2880 раз в сутки. Берём unsigned
short, делим:
65536/2880 ~ 22,76 суток, что примерно втрое превышает требуемую глубину
истории.

Организуем циклический буфер:
Вместо даты-времени считаем номер момента записи:
(unixtime_момента/30)%0x10000
И апдейтим записи с таким номером момента.
а сборка мусора? файл будет рости оч быстро.

Ответить