Цель: Изучить характеристики и ограничения SQL Azure
План:
1. Описание и характеристики SQL Azure
2. Сравнительная таблица SQL Azure и MS SQL Server
3. Ограничения SQL Azure
4. Поддерживаемые SQL Azure механизмы доступа к данным
5. Синхронизация данных
Характеристики SQL Azure
В конце июнля 2009 года компанией Microsoft был анонсирован SQL Azure.
SQL Azure:
-первый “облачный” сервис полностью поддерживающий реляционные модели данных;
-поддерживает SQL – запросы, T-SQL, использование хранимых процедур, представлений и т.п.;
-поддерживает модель безопасности Windows (пользователь\пароль) ;
-совместим практически со всеми инструментами и средами разработки реляционных баз данных (SQL Server Management Studio, Visual Studio);
-поддерживает PHP.
Таким образом, SQL Azure предоставляет масштабируемую, устойчивую базу данных, в качестве сервиса.
Работа SQL Azure базируется на Cloud Fabric, управляющем экземплярами баз данных, обеспечивающим их развертывание и сопровождение на протяжении всего жизненного цикла работы с данными.
Сравнение с MS SQL Server
В приведенной ниже таблице мы обобщили основные отличия MS SQL Server и SQL Azure:
Таблица. Сравнение MS SQL Server и SQL Azure
Функция SQL Server SQL Azure
Хранилище данных Не ограничений на размер хранимых данных Лимитировано, зависит от соглашения и, соответственно, оплаты.
При превышении лимита хранения будут поддерживаться только SELECT и DELETE. Добавление и обновление данных вызовет ошибку.
Доступные издания Express
Workgroup
Standart
Enterprise Enterprise Edition
Доступ Посредством:
SQL Server Management Studio
SQLCMD Посредством:
SQL Server 2008 R2 Management Studio (более ранние версии имеют ограниченную поддержку)
SQLCMD
Миграция данных – Поддерживаются: SQL Server Integration Services, BCP, SqlBulkCopyAPI
Аутентификация Поддерживается SQL Server и Windows аутентификация Только SQL Server аутентификация
Схемы Нет ограничений Не поддерживаются heap. Таблицы должны иметь кластерный индекс, прежде чем данные могут быть вставлены.
Поддержка TSQL Нет ограничений Ряд команд не поддерживается, или имеет ограничения. Более подробно см. п. № 3-5 списка дополнительных источников.
Ограничения
Мы уже отмечали наличие ряда ограничений в SQL Azure, а именно:
1. невозможно получить доступ к серверу БД на физическом уровне;
2. невозможно получить доступ к конструкциям уровня сервера, командам DBCC и системным представлениям;
3. не реализованы полнотекстовый поиск, связанные сервера, отслеживание изменений, распределенные транзакции и т.п.
Механизмы доступа
Как уже упоминалось, SQL Azure поддерживает конструкции языка T-SQL через протокол TDS (Tabular Data Stream), а также обращения по протоколу ODBC.
Кроме того, имеется поддержка следующих технологий:
• ADO.Net 3.5 SP1
• LINQ
• WCF Data Services
• ADO.Net Entity Framework 3.5 SP1 4.0
Поддерживается использование в качестве клиентского приложения Microsoft Office 2010.
В случае, если технологии Microsoft не используются компанией, обращение к SQL Azure возможно при помощи драйверов SQL Server 2008 Native Client ODBC и SQL Server 2008 Driver for PHP, а также через REST – протокол.
Организация хранения данных
Есть три основных механизма, обеспечивающих работу с SQL Azure:
1. учетная запись
2. сервер
3. база данных
При этом, необходимо знать следующее.
Учетная запись является владельцем по отношению к серверу. У одной учетной записи может быть несколько серверов.
Сервер – логический элемент, функционально аналогичный Master DB в MS SQL Server. Сервер – это единица аутентификации, отчетности и георасположения.
База данных непосредственно хранит SQL – объекты в рамках сервера, такие как пользователи, таблицы, представления и т.п.
Синхронизация данных
Технология синхронизации данных в SQL Azure построена на основе технологии Microsoft Sync Framework.
Механизмы синхронизации позволяют связывать существующие хранилища данных, расположенные на стороне заказчика, с SQL Azure, обеспечивать доступ к локальным данным через платформу Windows Azure и реализовывать сценарии работы в отсоединенном режиме.
Особенностями SQL Azure Data Sync являются:
• Sync – расписание: пользователь может задавать интервал синхронизации самостоятельно;
• No – Code Sync конфигурация: пользователь задает данные, которые должны быть синхронизированы с использованием инструментария, поставляемого сервисом;
• Пользователь может задать таблицы для синхронизации между базами данных SQL Azure;
• Сервисы регистрации и мониторинга позволяют отслеживать статус синхронизации и их историю.
Выделяют три основных сценария, при которых может понадобиться синхронизация данных:
1. Синхронизация данных между MS SQL Server и SQL Azure.
2. Синхронизация данных между SQL Azure и хоранилищами у сторонних поставщиков, с целью интеграции корпоративных приложений или интеграции данных и процессов между различными организациями.
3. Синхронизация данных между SQL Azure и приложениями в отсоединенном режиме. К примеру, распределенные мобильные решения сбора данных.
Контрольные вопросы:
1. Опишите основные характеристики SQL Azure
2. Сделайте вывод по приведенной сравнительной таблица SQL Azure и MS SQL Server
3. В чем заключаеться ограничения SQL Azure
4. Какие поддерживаються SQL Azure механизмы доступа к данным
Что такое синхронизация данных