Опубликован: 30.05.2011 | Доступ: свободный | Студентов: 2266 / 155 | Оценка: 4.12 / 4.41 | Длительность: 12:00:00
Лекция 13:

Windows Azure Blob: введение, модель данных, REST - интерфейс

Аннотация: В рамках данной лекции будут рассмотрены следующие вопросы: общие сведения о хранилище Windows Azure Blob, модель данных Windows Azure Blob, REST - интерфейс.

Общие сведения

Аббревиатура BLOB расшифровывается как Binary Large Object, т.е. большой бинарный объект - массив двоичных данных. В СУБД BLOB - специальный тип данных, предназначенный, в первую очередь, для хранения медиа- информации и компилированного программного кода.

Blob - хранилище в Azure может быть представлено в виде специального табличного хранилища в "облаке". Windows Azure Blob расширяет табличное хранилище и рассчитано на хранение больших объемов информации. Разница между Table и Blob хранилищами заключается в следующем:

  1. Табличное хранилище для управления таблицами использует ключи секций и строк. Бинарное хранилище для управления использует контейнер хранения ( storage container ) и идентификатор ( blob ID ).
  2. Табличное хранилище может работать со всеми основными форматами данных, как то символы, строки, целые и действительные числа, XML и т.д. Бинарное хранилище рассчитано только на, очевидно из названия, бинарный тип данных, при этом данных хранятся в виде блоков (data chunks).

Доступ к Blob - хранилищу осуществляется через пользовательскую учетную запись. Одна учетная запись может создать несколько Blob - контейнеров. В свою очередь, Blob - контейнер может включать в себя несколько Blob - объектов. (см. рис 18.1).


Рис. 18.1.

Модель данных

Рассмотрим модель данных Windows Azure Blob более детально. Выделим основные термины:

  • Учетная запись. Любой доступ к Windows Azure Storage и его сервисам, осуществляется посредством учетной записи. Как уже отмечалось, одна учетная запись может иметь несколько Blob - контейнеров.
  • Blob - контейнер. Контейнер группирует Blob - объекты. При этом политики использования данных задаются на уровне контейнера.
  • Blob (blob - объект). Хранится в контейнере. Каждый объект может быть размером до 50 Гб и имеет уникальное строковое имя в рамках контейнера. С бинарными объектами могут быть ассоциированы метаданные (рис 18.1), задающиеся в виде пары "имя - значение" размером до 8Кб.

На рис 18.2 приведена структура данных Windows Azure Blob, полученная средствами MS SQL Server 2008.

Отметим ряд особенностей работы с бинарными объектами и контейнерами:

  • контейнеры хранятся распределено;
  • область действия одного контейнера ограничена учетной записью пользователя;
  • при удалении контейнера, возможно возникновение задержек при повторном его создании, особенно при наличии большого количества объектов, т.е. до тех пор пока система не очистит blob - объекты попытки создать контейнер с тем же именем, что и удаляемый, будут вызывать ошибку;
  • подтверждение команд создания и удаления контейнера возвращаются от сервера клиенту, даже в случае если данные процессы занимают длительное время.

Рис. 18.2.

REST - интерфейс Blob - объектов

Любой доступ к Windows Azure Blob осуществляется через стандартные HTTP - команды PUT, Get и DELETE интерфейса REST.

Приведем перечень поддерживаемых HTTP/REST команд операций с Blob - объектами и контейнерами:

Таблица 18.1. Blob-операции
Операции Метод HTTP Описание
List Containers GET Список всех контейнеров данной учетной записи
Create Container PUT Создание нового контейнера в рамках учетной записи
Get Container Properties GET/HEAD Возвращает все свойства и метаданные контейнера
Get Container Metadata GET/HEAD Возвращает только определенные пользователем метаданные указанного контейнера
Set Container Metadata PUT Задает заголовки метаданных контейнера
Get Container ACL GET/HEAD Получение списка управления доступом ( Access Control List - ACL ) и политик доступа контейнера
Set Container ACL PUT Задает ACL и политики доступа контейнера
Delete Container DELETE Удаление контейнера и всех его blob - объектов
List Blobs GET Список всех blob - объектов контейнера
Put Blob PUT Создание нового blob - объекта, или перемещение существующего
Get Blob GET Чтение или загрузка blob - объекта, включая все свойства и метаданные
Get Blob Properties HEAD Возвращает все свойства и метаданных blob - объекта
Set Blob Properties PUT Задает свойства blob - объекта
Get Blob Metadata GET/HEAD Возвращает заголовки метаданных blob - объекта
Set Blob Metadata PUT Задание свойств большого двоичного объекта
Delete Blob DELETE Удаление blob - объекта
Lease Blob PUT Установка одноминутной блокировки записи blob-объекта.
Snapshot Blob PUT Создание снимка blob - объекта. Копирование исходного blob- объекта в blob - назначения, в рамках одной и той же учетной записи

Более полный перечень команд можно найти по ссылке в списке материалов для самостоятельного изучения.

СПИСОК МАТЕРИАЛОВ ДЛЯ САМОСТОЯТЕЛЬНОГО ИЗУЧЕНИЯ

Windows Azure Blob

  1. http://msdn.microsoft.com/ru-ru/library/ee872420.aspx

Windows Azure Blob - блоки и страницы

  1. http://msdn.microsoft.com/en-us/library/ee691964.aspx

Blob Service API

  1. http://msdn.microsoft.com/ru-ru/library/dd135733.aspx
  2. http://blogs.msdn.com/b/windowsazurestorage/archive/2011/02/18/windows-azure-blob-md5-overview.aspx
Роза Мальцева
Роза Мальцева
Игнат Гринько
Игнат Гринько

Примерно месяц назад получил на сайте код Дримспарк, сегодня вводил его на сайте Дримспарк, пишет: Недействительный код проверки. Проверьте правильность введенного кода. Код вводил методом: скопировать-вставить.