SQL Azure Федерация Разделение дизайна и запросов
У меня есть несколько вопросов, касающихся Microsoft SQL Azure Федерации:
1) Могу ли я создать федеративную базу данных на активной базе данных или мне нужно заранее развернуть федерации?
2) Нужно ли вносить какие-либо изменения в запросы SQL, чтобы они соответствовали тому, как я запрашиваю федерации, или я могу продолжать использовать свои обычные запросы, когда я работал с одной базой данных SQL Server?
3) Когда я делю свою базу данных и через некоторое время вижу, что один из сегментов очень занят и почти заполнен, как мне решить эту проблему с помощью федераций? - Нужно ли разделять только одну таблицу объединения, которая заполнена на 90%, или мне нужно пересоздать стратегию разделения, используя более широкий диапазон. Проблема в том, что один конкретный пользователь может быть очень активным, поэтому какую стратегию я использую, чтобы не создавать заново федеративную стратегию из-за одной очень активной федеративной таблицы / пользователя?
4) Когда у меня есть разные таблицы, которые я хочу разделить с разными первичными ключами, как тогда будет работать разбиение. например:
Из того, что я понимаю:
[Блог]
blog_id
Информация
[Сообщения в блоге]
Я бы
blog_id
POST_CONTENT
Так что, если я решу осколить на основе blog_id от 0-1000, 1-2001, у меня будет две федеративные таблицы. Но сколько еще у меня будет таблиц объединения, если я добавлю больше таблиц с ключами, отличными от blog_id, у меня будет больше таблиц объединения?
Спасибо
1 ответ
Пожалуйста, будьте точнее и конкретнее и задавайте один вопрос за раз. У вас больше шансов получить ответ на все вопросы, если их задать отдельно. Теперь позвольте мне рассказать о некоторых ваших вопросах.
1) Могу ли я создать федеративную базу данных на активной базе данных или мне нужно заранее развернуть федерации?
Вы, конечно, можете создать федерацию (и) в рамках существующей БД. Нет ограничений для создания Федераций только в новой / пустой БД. Однако создание федерации в активной базе данных ничего не изменит для вас. Вы должны понимать, что Федерации - это отдельные БД. Федерация (или член Федерации) ничего не знает о корневой федерации БД (базе данных, в которой вы создали федерацию). Поэтому вам нужно подумать о переносе схемы / данных из активной БД (или корня федерации) после создания федерации.
2) Нужно ли вносить какие-либо изменения в запросы SQL, чтобы они соответствовали тому, как я запрашиваю федерации, или я могу продолжать использовать свои обычные запросы, когда я работал с одной базой данных SQL Server?
Скорее всего, ДА. Windows Azure SQL Database Federations является механизмом горизонтального масштабирования для уровня БД. Это означает, что, как любое веб-приложение нуждается в "особом" дизайне для работы в фермероподобной среде (например, в среде горизонтального масштабирования, такой как Windows Azure), базе данных также потребуется "специальный" дизайн для работы в горизонтальном масштабе. среда. В SQL Azure Federations нет волшебной палочки, которая заставила бы ваш код работать. Вы должны разработать его для работы.
3) Когда я делю свою базу данных и через некоторое время вижу, что один из сегментов очень занят и почти заполнен, как мне решить эту проблему с помощью федераций? - Нужно ли разделять только одну таблицу объединения, которая заполнена на 90%, или мне нужно пересоздать стратегию разделения, используя более широкий диапазон. Проблема в том, что один конкретный пользователь может быть очень активным, поэтому какую стратегию я использую, чтобы не создавать заново федеративную стратегию из-за одной очень активной федеративной таблицы / пользователя?
Это все о стратегии разделения. Вы должны очень тщательно спроектировать свой ключ федерации и то, как вы распределяете свои данные по разным шардам. Вы всегда можете РАЗДЕЛИТЬ любую федерацию, если атомные единицы хранятся в одном осколке.
4) Когда у меня есть разные таблицы, которые я хочу разделить с разными первичными ключами, как тогда будет работать разбиение.
Если вы хотите разделить разные таблицы по разным ключам, у вас будут разные федерации, каждая из которых имеет свой собственный ключ федерации и собственные таблицы.
Хорошее видео, которое стоит посмотреть, если вы готовитесь к федерации SQL: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DBI408