Задать вопрос

Где и как хранить таблицу на 1 миллиард записей?

На данный момент есть таблица на 500 миллионов записей в postgresql. Она увеличивается примерно на 100к записей в день. Таблица содержит 3 колонки id, factor_id, parcel_id, первичный ключ, и две ссылки на другие таблицы соответственно. Данную таблицу не надо анализировать или агрегировать. Нужно только иметь возможность быстро вставить и прочитать запись. Собираюсь партицианировать таблицу по ключу factor_id, но таких таблиц может быть более 10к, боюсь будет просто каша, особенно когда будут удаляться связанные записи factor_id и таблица будет всегда отсаваться пустой. Посоветуйте ваш вариант. Заранее, спасибо.
  • Вопрос задан
  • 2769 просмотров
Подписаться 5 Простой Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Определитесь с тем как вы будете удалять эти данные.

3 колонки id, factor_id, parcel_id

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

Очень большое сомнение что вам здесь нужен id вместо составного pk.

увеличивается примерно на 100к записей в день

Т.е. сейчас у вас данные за 15 лет работы и вас беспокоит что будет ещё через 15 лет? Ну просто пересчитав указанные объёмы вставки.

В полновесном MVCC транзакционнике PostgreSQL очень маленькие строки держать несколько дорого именно по месту, заголовок строки большой.

3 колонки id, factor_id, parcel_id

24 да 3*8 байт если эти поля считать bigint'ами, да на лярд записей... порядка 25гб плюс-минус. Фигня вопрос вообще-то. У вас проблема-то есть? Или просто руки чешутся?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
index0h
@index0h
PHP, Golang. https://github.com/index0h
не юзайте внешние ключи, не удаляйте данные (только маркируйте как удаленные)
Ответ написан
@thyratr0n
  • Количество партицированных таблиц в 10к - это мелочи, так что смело разделяйте.
  • Избавьте от id - он тут не нужен.


Если есть возможность использовать другие СУБД, то тот же Redis, как было сказано, отлично решит вашу проблему.
Ответ написан
Комментировать
@Kirill-Gorelov
С ума с IT
Без сарказма Олег Бунин
Он в конце, рассказывает похожий случай. Может найдешь что-то для себя полезное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы