Windows Azure Blob: введение, модель данных, REST - интерфейс
Общие сведения
Аббревиатура BLOB расшифровывается как Binary Large Object, т.е. большой бинарный объект - массив двоичных данных. В СУБД BLOB - специальный тип данных, предназначенный, в первую очередь, для хранения медиа- информации и компилированного программного кода.
Blob - хранилище в Azure может быть представлено в виде специального табличного хранилища в "облаке". Windows Azure Blob расширяет табличное хранилище и рассчитано на хранение больших объемов информации. Разница между Table и Blob хранилищами заключается в следующем:
- Табличное хранилище для управления таблицами использует ключи секций и строк. Бинарное хранилище для управления использует контейнер хранения ( storage container ) и идентификатор ( blob ID ).
- Табличное хранилище может работать со всеми основными форматами данных, как то символы, строки, целые и действительные числа, XML и т.д. Бинарное хранилище рассчитано только на, очевидно из названия, бинарный тип данных, при этом данных хранятся в виде блоков (data chunks).
Доступ к Blob - хранилищу осуществляется через пользовательскую учетную запись. Одна учетная запись может создать несколько Blob - контейнеров. В свою очередь, Blob - контейнер может включать в себя несколько Blob - объектов. (см. рис 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 - объекты попытки создать контейнер с тем же именем, что и удаляемый, будут вызывать ошибку;
- подтверждение команд создания и удаления контейнера возвращаются от сервера клиенту, даже в случае если данные процессы занимают длительное время.
REST - интерфейс Blob - объектов
Любой доступ к Windows Azure Blob осуществляется через стандартные HTTP - команды PUT, Get и DELETE интерфейса REST.
Приведем перечень поддерживаемых HTTP/REST команд операций с Blob - объектами и контейнерами:
Более полный перечень команд можно найти по ссылке в списке материалов для самостоятельного изучения.
СПИСОК МАТЕРИАЛОВ ДЛЯ САМОСТОЯТЕЛЬНОГО ИЗУЧЕНИЯ
Windows Azure Blob
Windows Azure Blob - блоки и страницы
Blob Service API