многопользовательские схемы postgresql и базы данных - PullRequest
0 голосов
/ 06 июня 2018

Мы разработали мультитенантную систему (скажем, сотни арендаторов, а не тысячи).Нет общих данных.База данных PostgreSQL.Лучше создать отдельную базу данных для каждого арендатора или схемы?

Каковы плюсы и минусы?Как это повлияет на файловую систему, таблицы / представления механизма БД, такие как блокировки, привилегии объектов и т. Д. - будут ли они намного больше в решении с несколькими схемами?Отдельные базы данных должны быть проще для резервного копирования / восстановления.

Я знаю, что есть много похожих вопросов, но большинство из них относятся к случаям с общими данными, что является основным недостатком для нескольких баз данных, и у нас нет такоготребование.

1 Ответ

0 голосов
/ 06 июня 2018

Если вам никогда не нужно использовать таблицы из нескольких арендаторов в одном запросе, я бы выбрал отдельные базы данных.

Это не влияет на скорость обработки запросов и не влияет на файловую систему или память.

Однако оптимизатор запросов имеет тенденцию работать медленнее со многими схемами и многими таблицами (но мы говорим здесь сотни тысяч).Завершение табуляции psql также не так эффективно в этом случае.

Также проще использовать pg_dump / pg_restore с отдельными базами данных, чем с отдельными схемами.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...