Я понимаю, что в соответствии с Pg docs (http://www.postgresql.org/about/),) можно хранить неограниченное количество строк в таблице. Однако, каково «практическое правило» для пригодного для использования количества строк, если оно есть?
Справочная информация: я хочу хранить ежедневные показания в течение нескольких десятилетий для 13 миллионов ячеек, что составляет 13 M * (366 | 365) * 20 ~ 9,5e10 или 95 B строк (на самом деле, около 120B строк).
Итак, используя разбиение таблиц, я создал основную таблицу, а затем унаследовал таблицы по годам, что делит строки на ~ 5,2 млрд. Строк на таблицу.
Каждаястрока - 9 SMALLINTs и два INT, то есть 26 байт. Добавьте к этому служебную нагрузку Pg, равную 23 байтам на строку, и мы получим 49 байт на строку. Таким образом, каждая таблица, без какого-либо PK или любого другого индекса, будет веситьв ~ 0,25 ТБ.
Для начала я создал только подмножество вышеуказанных данных, то есть только для примерно 250000 ячеек. Я должен сделать кучу настроек (создать правильные индексы и т. д.).), но производительность действительно ужасна прямо сейчас. Кроме того, каждый раз, когда мне нужночтобы добавить больше данных, мне придется сбросить ключи и воссоздать их.Благодать спасения заключается в том, что после загрузки все станет базой данных только для чтения.
Есть предложения?Любая другая стратегия для разделения?