У меня есть приложение, которое перерастает SQL Azure - по цене, которую я готов заплатить, во всяком случае - и я заинтересован в исследовании Azure DocumentDB. Очевидно, что предварительный просмотр имеет различные пределы масштабируемости (например, здесь), но я думаю, что, возможно, мне удастся сэкономить время для предварительного просмотра, если я использую это правильно.
Итак, вот вопрос, который у меня есть. Как мне настроить приложение для использования встроенной масштабируемости Azure DocumentDB? Например, я знаю, что с помощью Azure Table Storage - дешевой, но <забастовочной > ужасной очень ограниченной альтернативы - вам нужно структурировать все ваши данные в двухэтапной иерархии: PartitionKey и RowKey. Если вы это сделаете (что практически невозможно в реальном приложении), ATS (как я понимаю) перемещает разделы позади, от машины к машине, так что вы получаете почти бесконечную масштабируемость. Удивительно, и вам никогда не придется об этом думать.
Масштабирование с помощью SQL Server, очевидно, намного сложнее - вам нужно создать свою собственную систему ошпаривания, разобраться с тем, на каком сервере находится осколок, и т.д. Возможно, и сделано правильно достаточно масштабируемым, но сложным и болезненным.
Как работает масштабируемость с DocumentDB? Это promises произвольная масштабируемость, но как механизм хранения работает за кулисами? Я вижу, что у него есть "Базы данных", и каждая база данных может иметь некоторое количество "Коллекций" и т.д. Но как его произвольная масштабируемость соответствует этим другим понятиям? Если у меня есть таблица SQL, содержащая сотни миллионов строк, я собираюсь получить требуемую масштабируемость, если я поместил все эти данные в одну коллекцию? Или мне нужно вручную распространять его по нескольким коллекциям, как-то иначе? Или через несколько БД? Или DocumentDB достаточно умен, чтобы объединить запросы с помощью разных машин, без необходимости думать об этом? Или...?
Я смотрел вокруг и еще не нашел никаких указаний о том, как подойти к этому. Очень интересно то, что другие люди нашли или что рекомендует MS.