Новая версия Windows Azure Storage
Цель лекции: Ознакомление с новой версией Windows Azure Storage – основной компоненты Windows Azure для управления памятью; с компонентами самой Azure Storage и их возможностями для пользователей.
Презентацию к лекции вы можете скачать здесь.
Введение
Windows Azure Storage – компонента для управления памятью в Windows Azure.
Компонента Windows Azure Storage Services обеспечивает устойчивое и надежное хранение информации в облаке.
Для доступа к сервисам Storage необходима учетная запись хранения (storage account), обеспечиваемая через Windows Azure Platform Management Portal .
Основные сервисы памяти включают:
- Сервис Blob (Binary Large OBjects) для хранения текста или бинарных данных, в том числе – мультимедийной информации
- Сервис Queue для надежного сохраняемого обмена сообщениями между облачными сервисами
- Сервис Table для работы со структурированной памятью, к которой можно обращаться по запросам.
Windows Azure SDK предоставляет REST API (REST, Representational State Transfer – один из стандартов разработки Web-сервисов, основанный на передаче информации о состоянии через аргументы и результаты методов) API и управляемый (managed) API для работы с сервисами памяти (managed API означает, что возможен доступ к Storage из .NET-приложений, см. "Базовые технологии, использованные для реализации новой версии Microsoft Windows Azure (2013)" ). Доступ к сервисам Памяти возможен из сервиса, выполняемого в Windows Azure, или непосредственно через Интернет из любого приложения, которое может посылать и принимать данные по протоколам HTTP/HTTPS.
Более подробная информация о REST API для сервисов памяти приведена в документе Windows Azure Storage Services REST API Reference. Информация об управляемом API для сервисов памяти приведена в документе Windows Azure Managed Library Reference.
В новой версии Windows Azure имеется удобная библиотека Azure Client Library с более высокоуровневым API, в частности, для работы с компонентой Storage.
Основные возможности Windows Azure Storage
- Binary Large Object (BLOB) Service, простейший способ хранения бинарных данных в Windows Azure.
- Table Service - поддержка работы с таблицами
- Queue Service -поддержка надежного обмена сообщениями между экземплярами Web-ролей и Worker-ролей.
- Windows Azure Drive позволяет приложениям для Windows Azure смонтировать Page Blob на отдельный том файловой системы NTFS VHD.
Преимущества Windows Azure Storage
Устойчивость к ошибкам и встроенная сеть CDN
Вся пользовательская информация, хранящаяся в Windows Azure, дублируется три раза. Независимо от того, какую память использует клиент облака, его данные дублируются в нескольких дублирующих областях (fault domains), что обеспечивает большую устойчивость к ошибкам. Windows Azure Content Delivery Network (CDN) обеспечивает интеграцию "в один клик" с сервисами Памяти (Storage). CDN естественным образом улучшает производительность, автоматически размещая информацию пользователя поблизости от того места, где она наиболее часто используется.
REST и Managed API
В дополнение к сервисам Памяти Window Azure для приложений пользователя, выполняемых в Windows Azure, она также может работать с приложениями, выполняемыми на локальной машине или на другой облачной платформе. Скачайте SDK, чтобы получить как REST API (программный интерфейс без состояния), так и управляемый API для работы с сервисами Памяти. Более подробно REST API описан в документации MSDN.
Windows Azure Client Library
В новой версии Azure (2013) разработана библиотека Azure Client Library с более дружественным интерфейсом для создания и обработки элементов Azure Storage.
Некоторые особенности предоставления сервисов Windows Azure Storage
Объем использованной Памяти в Windows Azure вычисляется на основе Вашего использования ее в среднем (в течение какого-либо оплачиваемого периода какого-либо двоичного объекта, таблицы, очереди, либо Windows Azure Drive storage. Например, если Вы использовали 10 ГБ Памяти за первую половину месяца и ничего не использовали за вторую, Вам предъявят счет на использование (в среднем) 5 ГБ Памяти.
В новой версии Azure предоставляются три сервиса Памяти - таблицы (tables), очереди (queues) и бинарные объекты (blobs).
Каждый сервис имеет программный .NET API и HTTP REST API. REST-узлы сети имеют следующий формат имен:
.[storage,blob,queue].core.windows.net.
Имеются также утилиты командной строки для разработки и сопровождения данных на стадиях их разработки и сопровождения.
Таблицы
Возможности
Таблицы – это структурированные, не требующие описаний в виде схем, масштабируемые хранилища данных, похожие на хранилище данных App Engine. Последняя является распределенной системой, которая по стилю проектирования очень похожа на Bigtable. Она рассчитана на хранение миллиардов объектов и терабайтов данных. Таблица – более эффективный вариант хранения и обработки информации, чем база данных на основе SQL Azure.
Модель сущности в таблице
Каждый объект имеет имя таблицы и набор свойств вида ключ / значение. Явное представление информации о схеме данных не требуется. Ограничения на объекты: максимальный объем – 1 МБайт, максимальное число свойств – 255.
Поддерживаются следующие типы свойств:
- строка (string)
- двоичный объект (binary)
- целое число (int)
- длинное целое (long)
- булевское значение (bool)
- вещественное двойной точности (double)
- глобальный идентификатор объекта (guid)
Имеется три специальных свойства: ключ раздела (partition key), ключ строки в таблице (row key), и версия (version).
Ключ раздела идентифицирует раздел, т.е. группу объектов, которые должны храниться вместе. Каждый раздел может храниться в отдельной виртуальной машине. Ключ строки идентифицирует объект в разделе. Совокупность (ключ раздела, ключ строки в таблице) является первичным ключом (primary key) для объекта. Ключ раздела и ключ строки оба являются строками размера до 64 КБайт.
Организация таблиц в Windows Azure изображена на рис. 6.1.