зачем на самом деле нужно несколько БД? - PullRequest
2 голосов
/ 07 октября 2010

Я смотрел на godaddy.com, где говорится, что они предлагают до 10 БД MySQL, но я не знаю, почему вам понадобится больше 1, поскольку БД может иметь таблицы с множественными числами.Разве несколько БД не могут быть интегрированы в одну БД?Есть ли пример, в котором лучше или неосуществимо не иметь несколько?И как вы различаете их, когда вы хотите позвонить им, из их каталога или по имени?

Best,

Ответы [ 4 ]

2 голосов
/ 07 октября 2010

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

1 голос
/ 07 октября 2010

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

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

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

0 голосов
/ 07 октября 2010

Еще одна причина использования отдельных баз данных связана с тем, требуется ли вам полное восстановление транзакций или нет. Например, если у меня есть куча таблиц, которые заполняются по расписанию с помощью процессов импорта, а не пользователями, размещение их в отдельной базе данных позволяет мне установить простой режим восстановления, который уменьшает ведение журнала (хорошо, когда вы загрузка миллионов записей одновременно). Я также не могу выполнять резервное копирование журнала транзакций каждые пятнадцать минут, как я делаю для данных в базе данных с данными, вставленными пользователем. Это также может сделать восстановление более быстрым процессом, когда это необходимо, поскольку базы данных будут меньше и, таким образом, индивидуально потребуется меньше времени для восстановления. Не очень поможет, когда весь сервер рухнет, но это может очень помочь, если одна база данных по какой-то причине будет повреждена. Если данные относятся к разным приложениям, это упрощает безопасность, а также позволяет хранить данные в отдельных базах данных. И, конечно, иногда у нас есть коммерческие базы данных, и мы не можем добавить к ним таблицы, поэтому может потребоваться отдельная база данных для обработки некоторых вещей, которые мы хотим добавить к этим данным (мы делаем это, например, с помощью нашего программного обеспечения для управления проектами, у нас отдельная база данных, в которую мы извлекаем и обобщаем данные из системы PM для отчетности, а затем записываем все наши обычные отчеты об этом.)

0 голосов
/ 07 октября 2010

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

Хранение таблиц в разных базах данных делает возможным резервное копирование их по отдельности. Кроме того, вы сможете контролировать доступ к каждой базе данных в разных группах NT (например, «Администратор против пользователей»). Хотя это можно сделать на уровне отдельных таблиц, иногда имеет смысл предоставить или запретить доступ ко всей базе данных конкретной группе.

Когда вам нужно вызвать их в SQL Server, вам нужно добавить имя базы данных к запросу, как это SELECT * FROM [MyDatabase].[dbo].[MyTable].

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