Windows Azure blob. Модель данных, REST - Интерфейс

  • doc
  • 01.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 137. Windows Azure blob. Модель данных, REST - Интерфейс.doc

Тема: 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 - интерфейс