2012-12-11 4 views
3

Я создаю веб-приложение, поддерживаемое базой данных PostgreSQL. Мой вопрос: должен ли я создавать схему для всех таблиц веб-приложения и выполнять всю работу в рамках этой схемы или использовать общедоступную схему по умолчанию?Должен ли я использовать схему для таблиц моего веб-приложения?

Я не вижу очевидной причины использовать схему отдельно от публики. Что я потеряю и что получу, не используя специальную схему?

+0

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

ответ

3

Это одна из тех ситуаций, когда два варианта (одна база данных со многими схемами и многими базами данных) имеют такие тонкие различия, что это приведет к бесконечным байкам.

По моему опыту, большинство инструментов не поддерживают схемы так хорошо, поэтому я просто делаю отдельные базы данных. Существует несколько минутных технических причин, по которым вы, возможно, захотите избежать создания отдельных баз данных, но единственно значимым с точки зрения дизайна является то, что в отличие от MySQL, запрос кросс-баз данных с помощью Postgres не является тривиальным. Если вы полагаетесь на эту функцию, вам нужно использовать схемы вместо отдельных баз данных. Если вы не полагаетесь на эту функцию, вы, вероятно, потратите больше усилий, чтобы принять решение использовать схемы, чем вы это выиграете.

Смежные вопросы