Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

Лекція 13. 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 Видалення blob - об'єкта
Delete Blob DELETE Установка однохвилинне блокування записи blob-об'єкта.
Lease Blob PUT Створення знімка blob - об'єкта
Snapshot Blob PUT Копіювання вихідного 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

(Для ознайомлення з повним текстом статті необхідно залогінитись)