2016-08-22 2 views
-1

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

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

ответ

1

думать об этом таким образом.

Экземпляр сервера Sql использует только объем дискового пространства и объем оперативной памяти. a

Экземпляр сервера Sql на ВМ будет использовать x, y, а затем дополнительное ОЗУ и дисковое пространство для ВМ позволяет вызывать эти p и r и делать n стоящим за количество vms.

Таким образом, для варианта одного ваша общая стоимость будет х & у

Для варианта 2 ваша общая стоимость будет х, у, п р, п г.

1

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

Вау, это было трудно сказать: -/

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

  1. Вы не платите штраф виртуализации,
  2. Вы не имея хранить несколько копий под управлением ОС,
  3. Вы в состоянии разделить использование памяти между базами данных и
  4. Каждый DB потребляет точно resou они нужны; не больше и не меньше.

Различные технологии VM работают для смягчения этих проблем (например, всплеска памяти), но для этого все еще есть какое-то наказание.

Большим преимуществом для виртуальных машин в этом отношении является масштабирование; когда БД находится на ВМ, перемещение этой виртуальной машины на вторую машину тривиально (а другое - третье и т. д.). Кроме того, вы получаете моментальный снимок (который является вашим самым лучшим другом evar).

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

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

В целом, штраф за базовую виртуальную машину стоит заплатить ИМО, потому что вы получаете моментальную рентабельность и аппаратную агностицизм и переносимость (я лично редко ничего не делаю на голом металле, это все виртуальные машины или контейнеры).Кроме того, достаточно легко очертить данные, если это необходимо, поэтому штраф, наносимый несколькими ОС и стеками, не стоит ИМО.

+0

так вы за это или против него? хорошие точки и хорошо написаны, но ваши последние 2 заявления, похоже, противоречат друг другу. – Matt

+0

Запуск нескольких БД на одной виртуальной машине - лучший из обоих миров. –

+0

Не страшное решение, но если чистая производительность, мой голос все еще остается на 1 сервере, а тем более на диске. Для масштабирования и гибкости, особенно если dbs малы, мне нравится ваше направление. множество других частей, которые ни один из нас не знает в этот момент. cheers – Matt

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