Производительность postgresql с большим количеством таблиц (например, 1 миллион таблиц)?

Какое наибольшее количество таблиц может находиться в одной базе данных pgsql, при этом сохраняя при этом хорошую производительность, учитывая, что pgsql хранит 1 файл на таблицу в файловой системе и выполняет поиск в pg_catalog для каждый запрос для планирования запросов?

Пример: Может ли pgsql работать с 1 миллионом таблиц в одной базе данных? Предположим, что используется файловая система ext4 и каждая таблица содержит очень мало данных, поэтому избыточный размер дискового хранилища не является проблемой. Проблема действительно возникает из-за (1) влияния 1 миллиона файлов на файловую систему и (2) влияния 1 миллиона записей в pg_catalog.

Из этой ветки (2005), http://postgresql.1045698.n5.nabble.com/GENERAL-Maximum-number-of-tables-per-database-and-slowness-td1853836.html - сказано ниже (но я не знаю, какая часть из этого все еще применима в наши дни):

Бенджамин Араи написал:

Каково текущее максимальное количество таблиц в базе данных? Кроме того, увеличение количества таблиц каким-либо образом снижает производительность?

В большинстве случаев ответ отрицательный. Однако, как только вы приближаетесь к шестизначным счетчикам таблиц, pg_catalog становится довольно массивным. Проблема в том, что планировщик запросов должен проверять pg_catalog для каждого запроса, чтобы увидеть, какие индексы доступны, какова статистика и распределение значений, и т. Д. чтобы построить оптимальный план.В какой-то момент действительно большой pg_catalog может начать сбивать вашу систему.

...

Уильям Ю пишет:

Бенджамин Араи писал:

Каково текущее максимальное количество таблиц в базе данных? Кроме того, увеличение количества таблиц каким-либо образом снижает производительность?

В большинстве случаев ответ отрицательный. Однако, как только вы приблизитесь к шестизначному количеству таблиц, pg_catalog окажется довольно массивным.

Вы также должны подумать о последствиях для производительности наличия десятков тысяч файлов в каталоге вашей базы данных. Хотя некоторые новые файловые системы этим особо не обеспокоены, многие из них увязли в поиске , когда в каталоге больше нескольких тысяч записей.

5
задан archmeta 23 October 2011 в 13:35
поделиться