Развитие платформы облачных вычислений Microsoft Windows Azure

Новая версия SQL Azure

Показывать лекцию целиком

Цель лекции: Ознакомление с новой версией инструментария для взаимодействия с реляционными базами данных SQL Azure в системе облачных вычислений Windows Azure.

Презентацию к лекции вы можете скачать здесь.

Введение

Microsoft SQL Azure – широко доступный и масштабируемый облачный сервер баз данных, построенный по технологии SQL Server. С помощью SQL Azure разработчику нет необходимости инсталлировать, настраивать и управлять каким-либо программным обеспечением. Широкая доступность и устойчивость к ошибкам встроены в SQL Azure, при этом не требуется какого-либо специального администрирования. Кроме того, разработчики смогут быстро улучшить свою производительность в использовании SQL Azure, используя для облачной СУБД ту же реляционную модель, основанную на T-SQL, и те же мощные средства разработки и управления, которые используются и для локальных баз данных.

Кроме сервисов управления базами данных (БД), дополнительные сервисы включают в себя: SQL Azure Database, SQL Azure Reporting и SQL Azure Data Sync.

Наиболее важные возможности SQL Azure

  • Построение пользовательских enterprise- и Web-приложений
  • Реляционные СУБД (Relational Database Management Systems - RDBMS) позволяют создавать и манипулировать таблицами, способами визуализации, индексами, ролями, хранимыми процедурами, триггерами и функциями, предоставляют возможности определения и исполнения сложных запросов к базам данных, в том числе – со множественными таблицами.
  • Доступ к данным через ADO.NET (управляемую компоненту .NET для работы с СУБД), через более традиционный программный интерфейс ODBC, а также через PHP и JDBC (программный интерфейс Java-технологии для работы с СУБД).
  • Преимущества SQL Azure

    Для работы с SQL Azure не требуется никакого специального администрирования: разработчик полностью может посвятить свое время проектированию, оптимизации и использованию программных решений.

    Поскольку SQL Azure – управляемый облачный сервис, никакой инсталляции или обновления на клиентской машине не требуется. Все необходимые средства для широкой доступности, управления виртуальными машинами и обработки ошибок уже встроены в облачную систему.

    В новой версии Azure (2013 г.) компонента SQL Azure работает весьма стабильно. Пользователю предоставляется возможность создать сервер баз данных, выбрать для него расположение, затем войти на сервер, создать на нем базу данных с помощью конструктора таблиц и SQL-запросов, наполнить ее содержимым и выполнять над ней SQL-запросы, вообще не прибегая к программированию на C# или VB. В данной лекции все эти возможности будут рассмотрены подробно на примерах.

    Как альтернатива, база данных может быть создана с помощью проекта Visual Studio с надстройкой SQL Server Data Tools. Однако для ознакомления с системой графическая оболочка конструктора баз данных и выполнения запросов гораздо удобнее.

    Начнем с создания базы данных (сервер баз данных в рамках нашей академической подписки нами уже создан).

    На рис 9.1 изображена страница нового портала Windows Azure, к которой происходит переход, если на основной странице портала выбрать пункт "Базы данных SQL". С него и начинается использование SQL Azure.

    (рис 9.1) Cтраница Windows Azure с выбранным пунктом "База данных SQL"

    Создание базы данных в SQL Azure. Параметры

    Пользователю дается рекомендация "Создать базу данных SQL". Кликнув по этой надписи, переходим к странице для задания параметров базы данных – выбора ее имени (в нашем примере – saf), типа выпуска (Web), максимального размера (до 1 Гб), вида сортировки символьной информации (по умолчанию), сервера баз данных.

    На рис 9.2 показана страница для ввода параметров создаваемой базы данных.

    (рис 9.2) Выбор параметров создаваемой базы данных

    Параметр Сортировка при создании базы данных

    На рис 9.3 показаны пояснения, которые дает система для выбора параметра Сортировка.

    (рис 9.3) Пояснения к Параметру Сортировка создаваемой базы данных

    Сортировка определяет правила упорядочения символьных данных. Они используются при поиске, индексировании и т.п. Поэтому после создания реальной базы данных параметр Сортировка изменению не подлежит. По умолчанию предлагается сортировка, согласно порядку букв латинского алфавита без учета регистра. Выбираем это значение параметра.

    База данных создана

    Кликнув по символу "V", создаем нашу базу данных. На рис 9.4 показана следующая страница, на которую мы переходим в результате создания базы данных.

    (рис 9.4) База данных создана. Визуализация информации о ней

    Указано имя созданной базы данных (saf), ее состояние (в сети), расположение (северо-центральный регион США), соответствующее расположению заранее созданного нами сервера баз данных, идентификатор нашей академической подписки, имя сервера, тип выпуска (Web) и максимальный объем (1 Гб).

    Возможные альтернативы для начала работы с базой данных

    Как обычно в новом интерфейсе Azure, для дальнейших действий с базой данных необходимо кликнуть по ее имени. В результате попадаем на начальную страницу действий с базой данных (рис 9.5):

    (рис 9.5) Начальная страница действий с базой данных

    В качестве первой альтернативы пользователю предлагается инсталлировать SQL Server Data Tools – надстройку над Visual Studio. Мы, однако, поступим по-другому: попытаемся войти на сервер баз данных, на нем – в нашу базу данных, а затем найти и использовать в облаке удобный интерактивный конструктор баз данных.

    Доменное имя сервера баз данных имеет вид: <имя сервера>.database.windows.net.

    Управление сервером баз данных

    Выбрав в меню пункта "База данных SQL" подпункт "Серверы", получаем страницу с информацией о сервере баз данных (рис 9.6):

    (рис 9.6) Информация о сервере базы данных

    Состояние сервера – "начато" (выполнение), регион – северо-центральный регион США. Указан также идентификатор нашей академической подписки.

    Типичные задачи для сервера баз данных

    Кликнув по имени сервера, переходим к странице с типичными задачами для сервера баз данных (рис 9.7) – Создание базы данных и Управление сервером. В верхней строчке задается основное меню действий над сервером – Мониторинг, Базы данных, Настройки и Журнал:

    (рис 9.7) Типичные задачи для сервера баз данных

    Мониторинг сервера баз данных

    Кликнув пункт "Мониторинг", переходим к странице мониторинга сервера баз данных (рис 9.8). Пока сервер не используется, поэтому реальных данных мониторинга практически нет. Справа указан URL-адрес сервера, имя входа для администратора, состояние сервера, число созданных баз данных (1). Попытаемся войти на сервер, но сначала проверим другие возможности. При попытке войти на сервер система потребовала от нас указания IP-адреса нашего компьютера как возможного IP-адреса для входа на сервер.

    (рис 9.8) Мониторинг сервера баз данных

    Информация о базах данных на сервере

    Кликнув пункт меню "Базы данных", получаем страницу с уже знакомой нам информацией о созданной нами базе данных saf (рис 9.9):

    (рис 9.9) Информация о базах данных на сервере

    Настройки сервера баз данных

    Кликнув пункт меню "Настройки", получаем страницу с информацией о текущих настройках сервера баз данных (рис 9.10). Это текущий IP-адрес клиента, который мы уже указали ранее, а также пункт настройки возможности доступа к серверу из облачных сервисов. По умолчанию она включена.

    (рис 9.10) Настройки сервера баз данных

    Журнал импорта и экспорта сервера баз данных

    Кликнув пункт меню "Журнал", получаем страницу с информацией о журнале импорта и экспорта баз данных для нашего сервера. Для получения этой информации система требует ввода логина и пароля администратора, которые были введены нами при создании сервера. В результате система сообщает, что журнала импорта-экспорта баз данных у нашего сервера пока нет, что и ожидалось, так как подобных действий мы не выполняли (рис 9.11):

    (рис 9.11) Журнал импорта и экспорта сервера баз данных

    Вход на сервер в базу данных

    Вернувшись к пункту 9.8, попытаемся войти на сервер баз данных, кликнув его URL-адрес в правой части страницы мониторинга. Первое, что требует от нас система, - инсталляции новой версии Microsoft Silverlight, что мы и выполняем. На странице, соответствующей URL-адресу сервера баз данных, находим форму для входа на наш сервер в базу данных. Указываем имя базы данных – saf, логин и пароль администратора (рис 9.12):

    (рис 9.12) Вход на сервер в базу данных

    Графическая оболочка для манипулирования базой данных

    Вход на сервер в базу данных занимает довольно продолжительное время. Наконец, после входа на сервер в базу данных мы переходим к странице, на которой доступна графическая оболочка для манипулирования с базой данных (рис 9.13).

    (рис 9.13) Графическая оболочка для манипулирования базой данных

    Как видно из содержимого страницы, имеется возможность получения общей информации (help) и непосредственно работы с базой данных. Нас интересует конструктор таблиц.

    Создание таблицы в конструкторе таблиц

    В конструкторе таблиц создаем таблицу со списком сотрудников лаборатории. Конструктор предлагает нам таблицу с тремя столбцами – идентификатором (целое число) и двумя строками переменной длины. Принимаем это предложение, называем таблицу saflab, столбцы переименовываем в Id, Name и Surname (рис 9.14). Поле Id является по умолчанию первичным ключом.

    (рис 9.14) Создание таблицы в конструкторе таблиц

    Заполнение таблицы средствами SQL

    Теперь нам необходимо наполнить таблицу содержимым. Для этого графическая оболочка не предоставляет нам каких-либо удобных пошаговых средств для ввода информации по полям, и т.д. (возможно, подобные средства появятся в следующей версии Azure, что и хотелось бы порекомендовать ее разработчикам). Система предлагает далее следующую схему работы. Пользователь имеет возможность ввода SQL-запросов, которые позволят наполнить таблицу данными. Вводим в таблицу, для эксперимента, одну строку (запись), состоящую из полей: Id = 1, Name = ‘Vladimir’, Surname = ‘Safonov". Для ввода такой записи набираем и выполняем следующий оператор на языке SQL:

    INSERT INTO saflab VALUES (1, ‘Vladimir’, ‘Safonov’)

    Данный оператор успешно выполнен (рис 9.15):

    (рис 9.15) Заполнение таблицы средствами SQL (оператором INSERT)

    Выборка из таблицы строки и ее визуализация

    Продолжим пользоваться SQL-операторами для проверки заполнения таблицы. Выполним простейший SQL-запрос:

    SELECT * FROM saflab WHERE Id = 1

    Запрос выполнен успешно, в результате чего система визуализирует всю нашу таблицу, состоящую из одной строки (рис 9.16):

    (рис 9.16) Выборка из таблицы строки и ее визуализация

    Таким образом, мы убедились, что (в отличие от предыдущей версии Azure 2011 г.) система позволяет пройти весь цикл работы с базой данных SQL – создание сервера баз данных, создание самой базы данных, наполнение ее данными средствами языка SQL и ее визуализация. Пользовательский интерфейс достаточно удобен и работает надежно.

    Сохранение операторов SQL в локальных файлах

    После наполнения таблицы, кликнув пункт "Сохранить", пытаемся выйти из базы данных. Однако система предлагает нам сначала сохранить наши SQL-команды в локальных файлах нашего компьютера. Напомним, что сама база данных хранится в облаке. Таким образом, облачные вычисления в системе Azure все же предусмотривают связь с локальным компьютером – предоставлена возможность сохранить на нашем компьютере выполненные SQL-операторы. Сохраняем наши два оператора в локальных текстовых файлах saf.sql и saf1.sql в рабочей директории (рис 9.17):

    (рис 9.17) Сохранение операторов SQL в локальных файлах

    Выход из базы данных и с сервера баз данных

    Сохранив всю информацию, выполняем выход с сервера баз данных, из нашей базы данных (рис 9.18).

    (рис 9.18) Выход из базы данных и с сервера баз данных

    Выход выполнен успешно, и мы попадаем снова на страницу входа на сервер (рис 9.12).

    Резюме

    Система SQL Azure предоставляет простой и удобный графический пользовательский интерфейс для взаимодействия с облачными серверами баз данных и для управления самими базами. Имеется интерактивный конструктор таблиц и интерпретатор SQL. Кроме собственно управления базами данных (создание, открытие и работа с базой, удаление), имеется также возможность генерации отчетов по базе данных (SQL Azure Reporting).

    Ключевые термины

    SQL (Structured Query Language) – язык запросов к реляционным базам данных, являющийся де-факто стандартом.

    SQL Azure – компонента Windows Azure для работы с реляционными СУБД, основанными на SQL-запросах

    SQL Azure Database – компонента SQL Azure для работы с базами данных

    SQL Azure Reporting – генератор отчетов по базам данных в системе SQL Azure

    Краткие итоги

    Подсистема SQL Azure обеспечивает доступ к облачным реляционным базам данных, основанных на SQL-запросах. Имеются возможности выбора подписки на облако; создания серверов баз данных и самих баз данных; входа на удаленную базу данных, расположенную на специальном сайте и т.д. Имеется, кроме того, возможность генерации отчетов по базам данных (SQL Azure Reporting), реализованная в бета-версии.

    Набор для практики

    Вопросы

  • Что такое SQL Azure?
  • Что такое SQL?
  • Из каких компонент состоит SQL Azure?
  • Что такое SQL Azure Database?
  • Что такое SQL Azure Reporting?
  • Какие возможности предоставляет Azure для создания баз данных, заполнения таблиц и выполнения запросов к ним?
  • Упражнения

  • В облаке Azure попробуйте и практически изучите все возможности SQL Azure.
  • В облаке Azure попробуйте и практически изучите все возможности SQL Azure Database.
  • В облаке Azure попробуйте и практически изучите все возможности SQL Azure Reporting.
  • Создайте в облаке Azure сервер баз данных, на нем - базу данных, затем войдите на сервер и средствами интерактивного конструктора создайте таблицу и поэкспериментируйте в выполнении запросов.
  • Темы для курсовых работ, рефератов, эссе

  • Архитектура SQL Azure (реферат).
  • Архитектура SQL Azure Database (реферат).
  • Архитектура SQL Azure Reporting (реферат).
  • Архитекура графической оболочки Azure для создания баз данных (таблиц) и манипулирования ими (реферат).
  • Литература

  • Web-страницы SQL Azure на портале msdn.microsoft.com
  • Справка и поддержка SQL Azure на портале Windows Azure.
  • Вернуться к учебному плану