@wawa

Как хранить много данных компактно и надежно?

Есть таблица A. Необходимо на каждую новую запись примерно сутки хранить порядка миллиона 4-х байтных целых чисел (~4Mb), после чего удалять (массив чисел, а не записи в A). Новых записей в сутки пусть будет 1000. Самое важное требование к этим массивам чисел: их нужно быстро писать и читать в БД одним куском в 4Мб. Т.е. по-элементного чтения/записи и уж тем более выборки с условиями не будет.
Самое оптимально решение, которое приходит в голову - просто хранить это как бинарные данные в обычных файлах на диске. Но тогда теряется монолитность БД, могут возникнуть проблемы с консистентностью БД. Как-то можно заставить постгрес эффективно хранить массив миллиона int32 без оверхеда по памяти O(1_000_000), а лишь O(1)? И так же быстро считывать эти данные из БД как-будто из файла читаешь без единого seek() ?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 3
longclaps
@longclaps
Ответ написан
Комментировать
IvanTheCrazy
@IvanTheCrazy
А почему не redis? Отлично же подходит
Ответ написан
Хранить надежно - это в СУБД, поддерживающих ACID. Данные массива, (де)сериализуя в приложении, можно хранить как BLOB.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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