Post on 15-Jun-2015
description
DATA PLATFORM DAY
SQL In Azure:
PaaS vs IaaS
DATA PLATFORM DAY
Infrastructure as a ServiceВиртуальная машина
Platform as a ServiceAzure SQL Database
Опции SQL Server в Azure
DATA PLATFORM DAY
Полноценный SQL ServerСлово «полноценный» - важно!
Расположение в Azure StorageНакладывает ограничения оптимизационного
характера
Готовые образы + собственный (LM + SA)
SQL 2008 R2, SQL 2012, SQL 2014
Стандартизированное железо
IaaS Way
DATA PLATFORM DAY
Мультитенантное окружение на стандартном железе (< Premium)
Беспокойных соседей не угомонить
Soft/Hard throttling By design, чтобы не сломалось
Шардинг и прочее – через свои решения
PaaS Way
DATA PLATFORM DAY
ДалекоМного хопов и слоев между клиентом и сервером
Нужно делать свою retry logic
Надо брать не сколько дают, а сколько надо
Connection pooling. Ресурсы-то shared.
Далеко не только снаружи, но и внутриЗапрос с клиента идет через фаерволлы, LB, шлюзы, и это важно,
если клиент
любит «поговорить» с сервером
А что такого в облаке?
DATA PLATFORM DAY
Технология
Углубляемся
DATA PLATFORM DAY
IaaS: архитектура VM
Виртуальная машина
C:\OS Disk
E:\, F:\, etc.Data Disks
D:\Temporary
Disk Dynamic
VHD
Опции кэшировани
я
BlobsBlob
Striped Volume
DATA PLATFORM DAY
Сервер != сервер
SQL Server
Сервер
SQL Database
Server
Точка входа TDS
DATA PLATFORM DAY
Сервер != сервер... ???
Services Layer – шлюз между клиентом и слоем платформы
Platform Layer – физические серверы и сервисы «под» сервисным слоем
Infrastructure Layer – «железо»
Infrastructure Layer
PHPWCF Data Services
SQL ServerApplications
and Tools
ODBC ADO.NET
Tabular Data Stream (TDS)
Client Layer
Services Layer
Provisioning
Billing and Metering
Connection Routing
Provisioning
Billing and Metering
Connection Routing
Provisioning
Billing and Metering
Connection Routing
…
…
…
TDS+SSL
Platform Layer
SQL Server
SQL Database
Fabric
Management Services
SQL Server
SQL Database
Fabric
Management Services
SQL Server
SQL Database
Fabric
Management Services
…
…
…
DATA PLATFORM DAY
Безопасность
Azure SQL DB
SQL Server
Только SQL authN
SQL и Windows- authN
TDE нет
Есть TDE
Фаерволл: уровень БД и сервера
Уровень сервера
Встроенная защита от DOS
Автоматические обновления и патчи без простоя
Встроенной защиты нет
Ручной патчинг
DATA PLATFORM DAY
Другое
Azure SQL DB
SQL Server
Не поддерживается
Распределенные представления и транзакции
Use CLR SQL Agent & Service Broker
DATA PLATFORM DAY
автоНА
•
•
Логическая БД Физические реплики
Реп
ли
ка 1
Реп
ли
ка 2
Реп
ли
ка 3
Фаер
вол
л
DATA PLATFORM DAY
Azure SQL DB сломался
Диагностика - сложнее
DATA PLATFORM DAY
Основные Bottleneck
Infrastructure Layer
PHPWCF Data Services
SQL ServerApplications
and Tools
ODBC ADO.NET
Tabular Data Stream (TDS)
Client Layer
Services Layer
Provisioning
Billing and Metering
Connection Routing
Provisioning
Billing and Metering
Connection Routing
Provisioning
Billing and Metering
Connection Routing
…
…
…
TDS+SSL
Platform Layer
SQL Server
SQL Database
Fabric
Management Services
SQL Server
SQL Database
Fabric
Management Services
SQL Server
SQL Database
Fabric
Management Services
…
…
…
Root cause Почему важно?
Латентность - Больше чем локально- Флуктуации
Открытие подключения
- Логин проходит сначала через шлюз
- Проблемы с промежуточными хопами
Мультитенантность
- Shared- Soft throttling - Hard throttling- Общий лог
1
2
3
1
3
2
DATA PLATFORM DAY
А производительность как?
• Web/Business Edition НЕ предоставляет гарантий по производительности
• Сотни клиентов на один сервер
• Для увеличения эффективности использования оборудования используются внутренние механизмы репликации, оптимизации и балансировки нагрузки
Доступные для БД ресурсы
Время
БД получает разные ресурсы в зависимости от соседей
DATA PLATFORM DAY
И все-таки...
Как выбрать-то?
DATA PLATFORM DAY
Начинаем выбирать
Миграция
У локальной и облачной версий будет общая
кодовая базаРешение зависит от того, что
не поддерживается в Azure SQL DB Есть ли
специфичные требования к изоляции решения
(например, сервер в домене)
Миграция готового
решения или разработка
нового?
Нет
Можно ли
перепроектировать или
реализовать шардинг?
Размер БД > 500GB
Да
Windows Azure SQL Database
SQL Server IaaS/On-prem
Новое
Да
Нет Да Нет
DATA PLATFORM DAY
Слайд с картинкой
Выбирать надо исходя не только из технических особенностей решения, но и исходя из его стоимости
DATA PLATFORM DAY
A2 (M) (2 ядра, 3.5GB RAM)
В 2013:Всего: $4.87/час, $116.88/день$3,623.48/месяц
Сейчас:Всего:$2.28/час, $54.72/день$1696.32/месяц
SQL Server Enterprise,Windows Azure VM HA: (+ 2 реплики ВМ)
P2 (2 ядра, 16GB RAM)
В 2013:Всего: $2.51/час, $60.31/день$1,869.50/месяц
Сейчас:Всего: $1.25/час, $30/день$930/месяц
Windows Azure SQL Database PremiumHA: 2 реплики включены
DB
Картинка
DATA PLATFORM DAY
Картинка
Резюмируя – Azure SQL DB
Все то, что для SQL Server
Поддержка Powershell
Отсутствие необходимости обновлять и патчить СУБД и ОС
HA как встроенная опция
99.9% SLA на аптайм
Резервирование ресурсов и масштабирование
Интеграция с привычным инструментарием
Проверенные технологии
21
DB
Спасибо за внимание :)