Я в перспективном проектировании веб-приложения, которое будет размещено в Azure с ASP.NET для веб-сайта и Silverlight на сайте для богатого пользовательского опыта. Я должен использовать Azure Таблицы или Azure SQL для хранения моих данных приложения?
Хранилище таблиц Azure оказывается дешевле, чем SQL Azure. Кроме того, он более масштабируем, чем SQL Azure.
С SQL Azure легче работать, если вы много работали с реляционными базами данных. Если вы переносили приложение, которое уже использовало базу данных SQL, то перемещение его в SQL Azure было бы очевидным выбором, но это единственная ситуация, в которой я бы рекомендовал это.
Основным ограничением таблиц Azure является отсутствие вторичных индексов. Об этом было объявлено на PDC '09 и в настоящее время указано как скоро, но не было никаких объявлений о сроках. (См. http://windowsazure.uservoice.com/forums/34192-windows-azure-feature-voting/suggestions/396314-support-secondary-indexes?ref=title )
Я видели предлагаемое использование гибридной системы, в которой вы используете хранилище таблиц и больших двоичных объектов для большей части данных, но используете SQL Azure для индексов, поиска и фильтрации. Однако у меня еще не было возможности попробовать это решение.
После добавления вторичных индексов в хранилище таблиц это будет по существу облачная система NoSQL , которая будет намного полезнее, чем сейчас.
Несмотря на схожие названия, таблицы SQL Azure и хранилище таблиц имеют очень мало общего.
Вот две ссылки, которые могут вам помочь:
По сути, первый вопрос, о котором следует задуматься, это Действительно ли мое приложение нужно масштабировать? Если нет, выберите SQL Azure.