Назад | Перейти на главную страницу

Один или несколько экземпляров БД на SQL-сервере

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

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

Увижу ли я разницу в производительности между двумя следующими настройками

Я бы сказал одну единую БД. Вы хотите, чтобы наборы таблиц были синхронизированы в отношении состояния резервного копирования / восстановления, безопасности доступа пользователей, доступности и т. Д. И т. Д. Отдельные таблицы также добавляют проблемы с решениями зеркалирования и доставки журналов.

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

С обоими наборами таблиц в одной БД некоторые точки конфликтов являются общими, например, записи журналов. Но это не касается случая, который вы описываете, потому что только часть OLTP приложения заботится о журнале.

Да. Вам нужен вариант B, чтобы ОС ссылалась на 2 разных дисковых файла. Одна БД может быть оптимизирована для записи, другая - для чтения.

Или вы можете сделать то же самое в одной базе данных, если вы разделите свои таблицы на отдельные файловые группы / отдельные файлы.

Увижу ли я разницу в производительности между двумя следующими настройками

* The two sets of tables are in one DB
* The two sets of tables are in two separate DBs on the same SQL

сервер

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

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

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

* Tables that collect results of some data processing. Most of the time

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

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

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