Приложения работают с данными самыми разными способами. В связи с этим сервис хранилища Windows Azure предлагает несколько вариантов, которые продемонстрированы на рис. 4.
caa99c54472afb37c5ea2666fbbe247a1.png (197,03К)
Количество загрузок:: 0
Рис. 4. Хранилище Windows Azure предоставляет объекты BLOB, таблицы и очереди.
Самый простой способ хранения данных в хранилище Windows Azure — это использование больших двоичных объектов (BLOB). В большом двоичном объекте содержатся двоичные данные, и, как показано на рис. 4, иерархия весьма проста. В каждом контейнере может содержаться один или несколько больших двоичных объектов. Большие двоичные объекты могут быть очень большими — вплоть до терабайта. С ними могут быть соотнесены метаданные, такие как информация о том, где была сделана фотография в формате JPEG или кто является исполнителем музыки, записанной в MP3-файле. Большие двоичные объекты могут также предоставлять базовое хранилище для дисков Windows Azure — механизма, позволяющего экземпляру роли Windows Azure взаимодействовать с постоянным хранилищем, как будто это локальная файловая система NTFS.
Большие двоичные объекты прекрасно подходят для ряда ситуаций, но в других случаях они оказываются слишком неструктурированными. Для того чтобы позволить приложениям более детально работать с данными, хранилище Windows Azure предоставляет таблицы. И пусть их название не вводит вас в заблуждение. Это не реляционные таблицы. Фактически данные, содержащиеся в каждой таблице, хранятся в группе сущностей, обладающих свойствами. Для извлечения данных из таблицы в приложениях используются не запросы SQL, а соглашения, заданные протоколом OData. Такой подход позволяет горизонтально масштабировать хранилище, при необходимости равномерно распределяя данные по нескольким компьютерам более эффективно, чем в стандартной реляционной базе данных. В действительности в одной таблице Windows Azure могут находиться миллиарды сущностей и терабайты данных.
Большие двоичные объекты и таблицы ориентированы на хранение данных и доступ к ним. Третий способ хранения данных в хранилище Windows Azure, которым являются очереди, имеет совершенно другое предназначение. Основная задача очередей — обеспечивать асинхронный способ взаимодействия экземпляров Web-роли с экземплярами Worker-роли. Например, пользователь может отправить запрос на выполнение какой-то требующей интенсивной обработки задачи через веб-интерфейс, реализованный Web-ролью Windows Azure. Экземпляр Web-роли, который получил этот запрос, может написать в очередь сообщение с описанием работы, которая должна быть выполнена. Экземпляр Worker-роли, который ожидает в этой очереди, может затем прочитать сообщение и выполнить задачу, указанную в нем. Полученные результаты можно вернуть с помощью другой очереди или обработать каким-то другим способом.
Вне зависимости от способа хранения данных — в больших двоичных объектах, таблицах или очередях — все данные, имеющиеся в хранилище Windows Azure, реплицируются трижды. Это повышает отказоустойчивость, поскольку потеря копии не так страшна. При этом система обеспечивает высокую степень согласованности данных, так что приложение, незамедлительно считывающее данные, которые оно только что записало, гарантированно получит именно то, что было записано. Windows Azure также хранит резервную копию всех данных в другом центре обработки в той же части света. Если центр обработки данных, где содержится основная копия, недоступен или уничтожен, то остается доступной резервная копия.
Доступ к хранилищу Windows Azure можно осуществлять с помощью приложения Windows Azure, локального или размещаемого приложения, а также из другой облачной платформы. Во всех этих случаях все три способа хранения Windows Azure используют соглашения REST для выявления и предоставления данных, как показано на рис. 4. Для именования больших двоичных объектов, таблиц и очередей используются универсальные коды ресурсов (URI), а доступ к ним осуществляется с помощью стандартных операций HTTP. Для этой цели клиент .NET может использовать библиотеку, предоставляемую Windows Azure, но это не обязательно — приложение может также использовать простые HTTP-вызовы.
Создание приложений Windows Azure, использующих большие двоичные объекты, таблицы и очереди, определенно может обеспечить важные преимущества. Приложения, полагавшиеся на реляционное хранилище, могут вместо него использовать SQL Azure — еще один компонент платформы Windows Azure. Благодаря этой технологии при-ложения, выполняемые в Windows Azure (или в других местах), могут осуществлять доступ к облачному хранилищу, пользуясь привычными методами доступа на основе SQL, как при работе с реляционными хранилищами.
При поддержке компании Microsoft
Далее мы рассмотрим Fabric Controller в Windows Azure
Страница 1 из 1
Хранилище в Windows Azure Windows Azure 3
Поделиться темой:
Страница 1 из 1