Хранение данных в Windows Azure дешевле при использовании RavenDB, а не SQL Azure? - PullRequest
5 голосов
/ 19 марта 2012

Хранилище SQL Azure намного дороже, чем хранилище Windows Azure. Позволит ли реализация решения no-sql, такого как RavenDB, хранить данные в более дешевом хранилище Azure? Есть ли что-то еще, например, резервное копирование, скорость или безопасность?

Спасибо.

Ответы [ 2 ]

20 голосов
/ 19 марта 2012

Вы должны учитывать, что с SQL Azure вы получаете не только хранилище, но и сервер базы данных. Если вы реализуете RavenDB, вам понадобится рабочая роль для ее размещения и, чтобы учесть сбой этой рабочей роли, еще одну рабочую роль (реплику), которая также удваивает объем хранилища.

Имейте в виду, что с SQL Azure вы получаете высокодоступное (трижды реплицируемое с отказоустойчивым) решение SQL, которое имеет знакомый (ADO.NET) API. Сделайте свой выбор на основе других аспектов, помимо стоимости хранения, таких как эксплуатационные усилия и усилия по разработке. Если вы выбираете RavenDB, это должно происходить из-за потенциальной экономии затрат на разработку (из-за близости API документа к графу объектов) и эксплуатационных расходов, поскольку RavenDB «администрируется» как часть приложения. Стоимость хранения фактических байтов, особенно в масштабе, является минимальным фактором.

7 голосов
/ 19 марта 2012

Добавим немного к ответу @ Simon: При рассмотрении Table Storage и его низкой стоимости также подумайте, можете ли вы использовать его напрямую, вместо того, чтобы использовать установленный и управляемый вами движок базы данных NoSQL.В своем нынешнем виде Table Storage предлагает решение без схемы, которое позволяет хранить по существу пакет свойств в строке, проиндексированной с помощью partitionkey + rowkey.Это работает для вас?Не могли бы вы поработать с несколькими дополнительными таблицами для дополнительной индексации?Если это так, то ваши затраты на хранение будут действительно низкими (и все еще долговечными, с тройной репликацией).

Если вы обнаружите, что пишете значительный код для управления Table Storage, тогда может быть более эффективным инвестировать вВычислить экземпляры, необходимые для запуска RavenDB.При рассмотрении этого вопроса также следует учитывать, что вам, вероятно, потребуются большие размеры виртуальных машин, если вы перемещаете значительные данные (поскольку вы получаете примерно 100 Мбит / с на ядро).База данных наподобие MongoDB, работающая с отображенными в память файлами, действительно наращивает скорость при увеличении объема оперативной памяти.Не уверен, что то же самое с RavenDB.

...