Таблицы базы данных - сколько базы данных? - PullRequest
3 голосов
/ 18 июня 2010

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

Ответы [ 8 ]

2 голосов
/ 18 июня 2010

Простой ответ, как всегда, таков: как можно меньше .

Чуть более сложный ответ состоит в том, что, как только вы начнете расширять пределы своего сервера и начнете думать онесколько серверов с репликацией master / slave, тогда вы можете захотеть, чтобы ваши таблицы частой записи отделялись от ваших редко пишущих таблиц, что снизит требования к обновлению master-slave.

1 голос
/ 18 июня 2010

Причина, по которой вы хотите иметь несколько баз данных, заключается в масштабировании на несколько машин.В контексте «социального приложения», где большой объем / высокая доступность является проблемой.Если вы предполагаете необходимость масштабирования до нескольких машин для обработки больших объемов, то разбивкой таблиц должны быть те, которые по логике должны оставаться вместе.

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

1 голос
/ 18 июня 2010

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

Я бы выбрал наименьшее количество баз данных.

0 голосов
/ 14 февраля 2011

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

0 голосов
/ 18 июня 2010

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

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

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

О, а есть ли план по добавлению промежуточного / производственного режима, так что это отдельная или та же база данных?

0 голосов
/ 18 июня 2010

Если вы не разрабатываете действительно БОЛЬШОЙ веб-сайт, одна из баз данных - это путь для продолжения (кстати, вы рассмотрели возможные проблемы, которые могут возникнуть при работе с различными базами данных?).

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

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

0 голосов
/ 18 июня 2010

В чем причина того, что вы хотите использовать его в разных базах данных?

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

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