5/5 - (1 голос)

Общий обзор реляционных баз данных Azure и AWS

Ниже есть общая таблица, основываясь на ней, мы видим, какие СУБД представлены в облаке как сервисе (SaaS).

saas сервисыПредставление реляционных баз данных в облаках

СУБД в AWS представлены в рамках единого сервиса RDS

На самом деле, при создании экземпляра базы данных в RDS (relational data service) вы будете встречать особенности конкретных СУБД, а не общего сервиса RDS.

То есть, если вы разворачиваете MS SQL Server, вам необходимо выбрать тип лицензирования — Enterprise, Standard, Express или Web edition, выбрать версию (2012-2019), диски и мощности виртуальной машины, на которой будет развернут экземпляр, и сконфигурировать инфраструктуру. Если работа будет с другими видами СУБД, то соответственно все конфигурируется под конкретную СУБД со всеми ее особенностями.

Таким образом, RDS в большинстве своем повторяет и реализует полноценные СУБД, и при выборе и настройке пользователи руководствуются знаниями о наземных полноценных реализации.

Это позволяет сохранять полную совместимость с наземными экземплярами, что облегчает миграцию при определенных сценариях и предоставляет доступ на уровне операционной системы.

СУБД в Azure выделены в отдельные сервисы

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

Способность к масштабируемости обусловлена ​​тем, что управление инфраструктурой в большинстве сервисов СУБД полностью выносится на уровень ответственности Microsoft, а на уровне пользователя остается только управление данными и приложением.

RDS также относится к PaaS, но, поскольку обеспечивает полную совместимость с наземными экземплярами, требует более глубокого понимания специалиста именно особенностей наземных полноценных инстанций.

cloud service

Облачные сервисы СУБД в Azure имеют свои подходы, поддерживают полную совместимость кода, но не обеспечивают полной совместимости с полноценной версией СУБД, проекцией которой они являются.

Это обусловлено и тем, что Microsoft пытаются реализовать более высокую гранулярность функционала. Если говорить обобщенно, они выделяют функционал в отдельные услуги или настройки, тарифицируемые отдельно. Это позволяет построить прозрачный и гибкий подход к ценообразованию, что в случае правильно выбранного сервиса и настроек позволит построить оптимальное решение с точки зрения цена/производительность.

Условно говоря, функционал MS SQL Server в облаке может быть разделен на отдельные услуги, обладающие собственными принципами ценообразования.

Для многих сценариев «полный комплект» действительно избыточен, и зачастую достаточно будет только использование функционала базы данных, а не всех сопутствующих сервисов сразу, за доступность которых клиент так или иначе платит платежи, покрываемые лицензией полноценного инстанса.

Azure MS SQLПример: Гранулярность – неисчерпаемое количество возможных сервисов и факторов ценообразования.

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

Компания пытается расширять свою линейку предложений, чтобы удовлетворить разных пользователей с разными рабочими задачами — от полных новичков, которые хотят попробовать поработать с базами данных и понять, как это — установить БД без лишних хлопот, до опытных разработчиков или администраторов избирающих баз данных. и достаточно тонко конфигурируют БД под промышленные нагрузки.

При этом все равно многие административные вопросы будут оставаться на стороне Microsoft.

Многое то, что умеет делать RDS с базами данных SQL server, будет уметь и Azure, но дополнительно он будет предлагать еще больше гибридных версий под разных пользователей и под разные кейсы.

Предлагаю подробнее рассмотреть предложения Azure и AWS.

Что предлагает Microsoft в рамках Azure SQL

azureМодели развертывания в Azure SQL

Что предлагает AWS

Реляционная база данных – это виртуальная машина с установленным MS SQL Server. SQL Server on Azure Virtual Machines – это тождественные сервисы (IaaS).

Далее AWS предлагает упоминаемый RDS из MS SQL Server (SaaS).

Здесь вы не будете управлять виртуальной машиной, но будете ее выбирать из многих типов. Необходимо разбираться не только в простых и главных показателях эффективности базы данных, а именно IOPS, memory, CPU – нужно будет понимать характеристики виртуальных машин. Да, конечно, существует документация, но эта история будет более сложной для чистых разработчиков или аналитиков, а не профильных админов.

Опять же, Azure также дает возможность тонко подходить к вопросу.

Azure имеет managed instance, тип Azure SQL, наиболее соответствующий RDS, где также выбирается виртуальная машина. Нужно понимать ее особенности и конфигурационные детали, но дополнительно Azure SQL single database, действительно работающая как услуга, наиболее очищена от инфраструктурных вопросов и является «чистым» database engine.

Azure AWS
Виртуальные машины (IaaS) MS SQL Server on VM MS SQL Server on EC2
Услуги (SaaS) (Hybrid) Managed Instance MS SQL Server на RDS
Услуги (SaaS) Azure SQL Single Database

При этом обеспечивается стандарт T-SQL для всех версий.

Например, варианты выбора параметров виртуальной машины (ec2) для RDS.

Name Instance Type Memory Storage Processor vCPUs Network Performance Arch
M1 General Purpose Medium db.m1.medium 3.75 GiB 1×410 intel Xeon Family 1 vCPUs Moderate 64-bit
M1 General Purpose Small db.m1.small 1.7 GiB 1×160 intel Xeon Family 1 vCPUs Low 64-bit
M3 General Purpose Medium db.m3.medium 3.75 GiB 1×4 SSD Intel Xeon E5-2670 v2 (Ivy Bridge/Sandy Bridge) 1 vCPUs Moderate 64-bit
T1 Micro db.t1.micro 0.613 GiB 0 GiB (EBS only) Variable 1 vCPUs Very Low 64-bit
T2 General Purpose Micro db.t2.micro 1 GiB 0 GiB (EBS only) Intel Xeon Family 1 vCPUs Low to Moderate 64-bit
T2 General Purpose Small db.t2.small 2 GiB 0 GiB (EBS only) Intel Xeon Family 1 vCPUs Low to Moderate 64-bit
M1 General Purpose Large db.m1.large 7.5 GiB 2×420 Intel Xeon Family 2 vCPUs Moderate 64-bit
M2 High Memory Extra Large db.m2.xlarge 17.1 GiB 1×420 Intel Xeon Family 2 vCPUs Moderate 64-bit

Часть параметров, которые конфигурируются: Allocated storage, Architecture settings, Auto minor version upgrade, Availability zone, AWS KMS key, Backup replication, Backup retention period, Backup target, Backup window, Character set, Collation, Copy tags to sna Database management type, Database port, DB engine version, DB instance class, DB instance identifier, DB parameter group, DB subnet group, Deletion protection, Encryption, Enhanced Monitoring, Engine type, Initial database name, License, Log exports, Mainten Master password, Master username, Microsoft SQL Server Windows Authentication, Multi-AZ deployment, National Character Set (NCHAR), Network type, Option group, Performance Insights, Provisioned IOPS, Public access, Storage autoscaling, Storage type, Time zone, Virtual Private Cloud (VPC),VPC Security Group (Firewall).

Для некоторых параметров есть свои вложенные параметры.

В противоположность варианты для создания Azure SQL

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

Первая модель

Basic Standard Premium
Target workload Разработка и производство Разработка и производство Разработка и производство
Uptime SLA 99.99% 99.99% 99.99%
Maximum backup retention 7 дней 35 дней 35 дней
CPU Low Low, Medium, High Medium, High
IO throughput (approximate) 1-5 IOPS per DTU 1-5 IOPS per DTU 25 IOPS per DTU
IO latency (approximate) 5 ms (read), 10 ms (write) 5 ms (read), 10 ms (write) 2 ms (read/write)
Columnstore indexing N/A S3 и выше Supported
In-memory OLTP N/A N/A Supported
Maximum DTU 5 3000 (S12) 4000 (P15)
Maximum Storage Size 2 GB 250 GB 1 TB

Вторая модель:

General Purpose Business Critical
Compute 1 to 16 vCore 1 to 80 vCore
Storage Premium Remote storage, max 4 TB Premium Remote storage, max 4 TB
IO throughput 500 IOPS на VCore 5000 IOPS для DTU VCore
Backups RA-GRS, 7 — 35 дней RA-GRS, 7 — 35 дней

То есть выбор сервиса унифицирован к типам нагрузки с постепенным масштабированием.

Если Vcore – 1, 2, 4, 8, 16, 32 и так далее. Если DTU – 20, 50, 100, 200, 500, 1000 и так далее.

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

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