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