Как вызывать SPLIT и DROP при разделении в SQL Azure - PullRequest
2 голосов
/ 28 марта 2012

Я настраиваю систему, работающую в Windows Azure, для которой я ожидаю большой объем данных и большой трафик.Чтобы справиться с этим, я проектирую базу данных объединения.Я заинтересован в том, чтобы само приложение SPLIT (или DROP) объединило базы данных при необходимости.Есть две причины, по которым эти операции должны запускаться: 1) размер базы данных достигает предела, допустимого в Windows Azure, и 2) объем трафика на сервере слишком высок, и операция SPLIT повысит производительность,сохраняя время отклика низким (работает быстро).(обратные операции основаны на аналогичных рассуждениях).

Мой вопрос: как я могу определить эти 2 условия программно?

1 Ответ

1 голос
/ 28 марта 2012

Вы можете использовать Sql Azure Dynamic Management Views для программного мониторинга баз данных Sql Azure.Обратите внимание, что вы не сможете контролировать всю федеративную базу данных одновременно, а, скорее, каждого ее отдельного члена.

Использование представлений динамического управления для проверки условия 1), относящегося к размеру, должно быть прямым.Определить условие номер 2), связанное с трафиком / производительностью, немного сложнее, поскольку сначала вам нужно будет определить точные метрики, которые имеют смысл, и их пороговые значения.

Одна очень важная вещь, которую следует соблюдатьПомните, что операции SPLIT и DROP ведут себя очень по-разному.SPLIT - это оперативная операция (она не требует простоя), посредством которой член раздела делится на две базы данных.Данные будут автоматически разделены между двумя.Такое поведение означает, что расщепления действительно могут быть инициированы автоматическим процессом масштабирования.

Однако DROP довольно сильно отличается.При удалении члена федерации Sql Azure перемещает диапазон значений ключей на нижнего или верхнего соседнего члена федерации, но сами данные просто удаляются.Вы можете получить более подробное описание в этой статье (поищите внутри нее «Уменьшение»).В основном вам придется вручную экспортировать данные из удаленной базы данных и вручную объединить их с целевой базой данных.Говоря технически, вы можете автоматизировать операцию слияния с помощью версии мастера миграции Sql Azure из командной строки, но это рискованно.Прежде чем запустить его в эксплуатацию, потребуется много тестов.

Microsoft планирует внедрить автоматическое объединение для членов федерации, но это произойдет в будущем выпуске.Как и сейчас, я бы не рекомендовал автоматическое уменьшение масштаба.

Обновление

Для тех, кто заинтересован, вы можете проголосовать за операцию MERGE в интегрированном SQLБазы данных Azure здесь .

...