Лекція 8. SQL Azurе
Характеристики SQL Azurе
В кінці липня 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:
Таблиця 8.1. Порівняння 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 і додатками в отсоединенном режимі. Наприклад, розподілені мобільні рішення збору даних.
СПИСОК МАТЕРІАЛІВ ДЛЯ САМОСТІЙНОГО ВИВЧЕННЯ
Вступ в SQL Azure
Переваги SQL Azure
TSQL в SQL Azure
- Поддерживаемые команды
- Команды с частичной поддержкой
- Неподдерживаемые команды
SQL Server 2008 R2 Native Client
SQL Server 2008 Driver for PHP
SQL Azure Data Sync - пример
(Для ознайомлення з повним текстом статті необхідно залогінитись)