Sql Azure - отдельные серверы?

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

Похоже, что MS взимает плату за размер и количество баз данных Sql Azure, а не за количество серверов. Таким образом, с точки зрения затрат представляется целесообразным разместить одну базу данных на каждом экземпляре сервера. Я понимаю, что иногда выгоднее размещать базы данных на отдельных физических серверах, а не на одной машине в сценариях с высоким уровнем использования. Может ли это быть применено к виртуальным серверам Sql Azure? Вот что я могу найти о экземплярах сервера Sql Azure:

Сервер SQL Azure является логической группой баз данных и выступает в качестве центральной административной точки для нескольких баз данных. Каждый сервер SQL Azure включает логины, аналогичные тем, которые присутствуют в экземплярах SQL Server на вашем месте. "( SQL Azure Provisioning Model)

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

Ответы

Ответ 1

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

Ответ 2

Все говорят, что сервер базы данных azure - это просто логическая концепция, о которой не нужно беспокоиться, но есть некоторые ограничения в портале, списке серверов, на самом деле это говорит вам доступную квоту на эту сервер, что означает, что вы не можете поместить слишком много баз данных на 1 сервер, поэтому мы не можем думать об этом как о логической концепции, иначе, почему существует предел. например, прямо сейчас вы не можете разместить 3 базы данных уровня P3 на одном сервере, поскольку максимальные DTU одного сервера составляют только 1600 DTU, а 1 база данных уровня p3 займет 800 DTU.

Итак, я не могу просто думать о сервере базы данных azure как о просто логическом концептуальном сервере для управления учетными данными. Если там есть ограничение, я думаю, что что-то скажется на производительности вообще.

Если кто-то не сможет объяснить, откуда это ограничение, выполните следующие действия.

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

Ответ 3

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

SQL Azure делает все виды магии под капотом, чтобы распространять ваши данные. Несмотря на то, что две базы данных находятся на одном сервере, они, скорее всего, работают на разных компьютерах (и каждая база данных, вероятно, балансируется на разных компьютерах)

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

Ответ 4

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

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

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

Ответ 5

Сервер SQL azure является логическим объектом; Таким образом, разные серверы не обязательно означают разные физические серверы, они вполне могут быть отдельными виртуальными машинами на одном и том же физическом сервере.

Ответ 6

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

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

Ссылка: http://msdn.microsoft.com/en-us/library/ee336245.aspx#dcasl

Ответ 7

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

Теперь хранилище разумно делит/разделяет пространство между двумя. Если их три, они делятся на три.

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

Ответ 8

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

. Эластичные пулы баз данных SQL - это простое и экономически эффективное решение для управление и масштабирование нескольких баз данных, которые имеют различные и непредсказуемые требования к использованию. Базы данных в эластичном пуле находятся на один сервер базы данных SQL Azure и общее количество ресурсов по установленной цене. Эластичные пулы в базе данных SQL Azure включают SaaS разработчики оптимизируют ценовую производительность для группы баз данных в рамках предписанного бюджета при обеспечении эластичности производительности для каждая база данных.

Этот вопрос предшествует выпуску эластичных пулов Azure на пять лет (они были общедоступными в 2016 году!)

Другой ответ относится к тому, как вы управляете настройкой безопасности. Azure имеет как брандмауэр уровня сервера, так и брандмауэр уровня базы данных. См. правила базы данных Azure SQL Database и IP-хранилища данных Azure SQL. Это может повлиять на то, где вы хотите настроить базы данных.

Ответ 9

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