Ответ 1
В настоящее время невозможно создать единую базу данных размером более 150G.
Единственный подход состоит в том, чтобы либо разделить данные на несколько баз данных, либо на одну учетную запись может быть до 149 пользовательских баз данных, а также на основную БД или использовать федерации SQL Azure. В настоящее время, если я не ошибаюсь, общее число поддерживаемых Федераций составляет Int16.MaxValue - 1
. Каждая федерация фактически представляет собой отдельную базу данных, прозрачную для разработчика, которая может достигать 150 ГБ.
Тем не менее, SQL Azure Federations имеет свои плюсы и минусы, а также некоторый рефакторинг уровня доступа к данным. Если вас это интересует, вы можете проверить эти классные видео на федерациях SQL Azure:
- Создание масштабируемых приложений с использованием SQL Azure
- Использование федераций базы данных SQL Azure
UPDATE
Я не буду полностью соглашаться с @ryancrawcour. Он объясняет, что это только вершина айсберга, лежащего под водой. Количество требуемого повторного факторинга действительно зависит от того, как данные потребляются из приложения. Я просто упомянул несколько факторов для соображений (которые вообще не являются полной картиной). Рассмотрим любое из следующего:
- Данные, общие для всех федераций (как вы получаете эти данные)
- Сохраненный proc, который обрабатывает данные - вам нужно итерации в каждом члене федерации и выполнять этот хранимый proc. Невозможно выполнить хранимый процесс один раз и обрабатывать данные во всех федерациях.
- Совокупные данные, которые распространяются на более чем 1 член федерации
- Перечислить данные из нескольких членов федерации.
Это всего лишь несколько операций, которые вам нужно будет рассмотреть, и которые не требуют "просто изменить строку подключения и выполнить одну из них, используя федерацию..." перед каждым запросом. На самом деле, используя SQL Azure Federations, вам не нужно вообще менять строку соединения. Это все равно строка соединения SQL Azure. Оператор "USE FEDERATION..." - это то, что вы выполняете перед каждым запросом. Но это не просто единственное. И как насчет того, используется ли EntityFramework (сначала модель, или код, или что-то еще). Все становится еще сложнее и требует реального понимания федераций SQL Azure.
Я бы сказал, что SQL Azure Federations - это другой способ мышления о данных, о моделировании и нормализации.
UPDATE 2 - новые размеры базы данных, объявленные Microsoft
По состоянию на 03 апреля 2014 года максимальный размер для одной базы данных был увеличен до 500 ГБ. Единственная доступная информация на сегодняшний день здесь. Имейте в виду, что портал управления по-прежнему не показывает этот вариант (по состоянию на сегодняшний день и сейчас: 4 апреля 2014 года, 15:00 GMT + 0: 00).