Тема: Windows Azure blob. Модель данных, REST - интерфейс.
Цель: Изучить модель данных, Rest - интерфейс.
План:
1. Общие сведения о хранилище Windows Azure Blob
2. Модель данных Windows Azure Blob
3. 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 - объектов. (см. рис 13.1).
Рис 13.1
Модель данных
Рассмотрим модель данных Windows Azure Blob более детально. Выделим основные термины:
· Учетная запись. Любой доступ к Windows Azure Storage и его сервисам, осуществляется посредством учетной записи. Как уже отмечалось, одна учетная запись может иметь несколько Blob - контейнеров.
· Blob - контейнер. Контейнер группирует Blob - объекты. При этом политики использования данных задаются на уровне контейнера.
· Blob (blob - объект). Хранится в контейнере. Каждый объект может быть размером до 50 Гб и имеет уникальное строковое имя в рамках контейнера. С бинарными объектами могут быть ассоциированы метаданные(рис. 13.1), задающиеся в виде пары "имя - значение" размером до 8Кб.
На рис 13.2. Приведена структура данных Windows Azure Blob, полученная средствами MS SQL Server 2008.
Отметим ряд особенностей работы с бинарными объектами и контейнерами:
контейнеры хранятся распределено;
область действия одного контейнера ограничена учетной записью пользователя;
при удалении контейнера, возможно возникновение задержек при повторном его создании, особенно при наличии большого количества объектов, т.е. до тех пор пока система не очистит blob - объекты попытки создать контейнер с тем же именем, что и удаляемый, будут вызывать ошибку;
подтверждение команд создания и удаления контейнера возвращаются от сервера клиенту, даже в случае если данные процессы занимают длительное время.
Рис. 13.2
REST - интерфейс Blob - объектов
Любой доступ к Windows Azure Blob осуществляется через стандартные HTTP - команды PUT, Get и DELETE интерфейса REST.
Приведем перечень поддерживаемых HTTP/REST команд операций с Blob - объектами и контейнерами:
Таблица. 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 |
Удаление blob - объекта |
Delete Blob |
DELETE |
Установка одноминутной блокировки записи blob-объекта. |
Lease Blob |
PUT |
Создание снимка blob - объекта |
Snapshot Blob |
PUT |
Копирование исходного blob- объекта в blob - назначения, в рамках одной и той же учетной записи |
Более полный перечень команд можно найти по ссылке в списке материалов для самостоятельного изучения.
Контрольные вопросы:
1. Дайте общие сведения о хранилище Windows Azure Blob
2. Расскажите о модели данных Windows Azure Blob
Что такое REST - интерфейс
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.