Вышла новая версия SQL сервера от компании Microsoft, а именно SQL Server 2016 и сейчас мы с Вами рассмотрим новые возможности этой версии, сравним ее с предыдущими релизами, а также узнаем в каких редакциях она выпускается.
Microsoft SQL Server – это разработанная компанией Microsoft система управления реляционными базами данных. Как известно поддержка SQL Server 2005 закончилась в апреле 2016 года и на текущий момент существуют следующие версии SQL сервера: SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 и теперь SQL Server 2016.
Новые возможности Microsoft SQL Server 2016
И начнем мы, конечно же, с рассмотрения нового функционала, т.е. тех новых возможностей, которые появились в SQL Server 2016.
- Always Encrypted (т.е. «Всегда зашифрованные») — это функционал, позволяющий хранить некоторые данные (например, персональные данные) в зашифрованном виде, при этом ключ шифрования хранится на клиенте, в результате происходит разделения между теми, кто владеет данными, и может просматривать их, например, клиент, персональные данные которого зашифрованы, и тех, кто управляет данными, но не должен иметь доступа к ним, например, администраторы или программисты SQL Server. Данная возможность обеспечивает защиту данных, как в состоянии покоя, так и в движении, т.е. в процессе передачи;
- Real-Time Operational Analytics («Оперативная аналитика в режиме реального времени») – это возможность SQL сервера обрабатывать как рабочую OLTP нагрузку, так и аналитические запросы на одних и тех же таблицах базы данных одновременно, т.е. в режиме реального времени. Традиционный подход к аналитике имеет несколько недостатков таких как: сложность реализации ETL процессов, затраты на приобретение дополнительных хранилищ данных и лицензий, а также один из самых главных недостатков, который для многих предприятий является неприемлемым, это задержка данных. Это связанно с тем, что задание ETL обычно выполняется один раз в сутки, например, в конце рабочего дня и соответственно анализировать эти данные можно только на следующий день. Возможность Real-Time Operational Analytics позволяет в некоторых случаях устранить все вышеперечисленные недостатки, т.е. уже нет необходимости в ETL и хранилищах данных. Одним из нюансов Real-Time Operational Analytics является то, что данная возможность нацелена на работу с одним источником данных, который участвует как в OLTP нагрузке, так и в аналитике. В случае необходимости анализировать данные из нескольких источников, потребность в отдельном хранилище данных не исчезает;
- SQL Server R Services (In-database Analytics) — это новый компонент SQL сервера который позволяет выполнять анализ внутри базы данных с использованием языка R.
- R — это язык программирования и библиотеки с открытым исходным кодом, который широко используется как средство для анализа данных. Все возможности языка R, включая возможность использования достаточно большого количества пакетов с открытым исходным кодом для решения повседневных задач, интегрированы в SQL Server 2016, что позволяет избежать проблем с их интеграцией в приложения. Кроме этого пользователи R Services могут использовать библиотеку алгоритмов ScaleR – это набор функций масштабируемых для обработки сотен миллиардов строк посредством параллельных вычислений, что обеспечивает производительность, которую невозможно достичь при использовании распространенных пакетов с открытым исходным кодом;
- PolyBase – это технология позволяющая посылать запросы как к реляционным, так и не реляционным данным, а также осуществлять импорт и экспорт этих данных. Другими словами в SQL Server теперь есть возможность обращаться к данным в Hadoop или Blob-хранилище Azure;
- AlwaysOn Availability Groups – в SQL Server 2016 есть улучшения групп доступности AlwaysOn, а именно это: возможность иметь до трех синхронных реплик, циклическая балансировка нагрузки на вторичные реплики, поддержка распределенных транзакций (DTC — Distributed Transaction Coordinator), поддержка групп управляемых учётных записей сервисов (gMSA — Group Managed Service Accounts), а также улучшена пропускная способность репликации журнала;
- Stretch Database – это технология, которая позволяет хранить «холодные» данные в облаке Azure с возможностью быстрого доступа к этим данным (под «холодными» данными здесь понимается данные, которые редко используются или вовсе не используются). Другими словами, если у Вас на предприятии в базе данных есть таблица или таблицы, в которых хранятся исторические данные, достигающие терабайтных объемов при этом этот объем постоянно увеличивается, а Вам нужно обеспечить сохранность этих данных, да так чтобы к ним можно было мгновенно обратиться, то технология Stretch Database в этом Вам поможет. Преимущества при использовании Stretch Database следующие: отсутствие необходимости в приобретение дополнительных систем хранения данных, мгновенный доступ к «холодным» данным, обычный способ обращения к «холодным» данным, т.е. отсутствует необходимость в модификации запросов и приложений, перенос «холодных» строк (например, если в одной и той же таблице есть и «горячие», и «холодные» данные, можно перенести в облако Azure только «холодные»). Все что нужно, для того чтобы начать использовать Stretch Database необходимо наличие SQL Server 2016 и подписка на облако Azure для создания новой базы данных SQL Server Stretch Database;
- SSRS Mobile Reports – в службы Reporting Services добавлена возможность создавать отчеты оптимизированные для просмотра на мобильных устройствах;
- Усовершенствования для Columnstore Indexes — в SQL Server 2016 есть ряд улучшений для колоночных индексов, например: кластерный columnstore индекс теперь поддерживает один или несколько некластеризованных индексов rowstore, таблица теперь может иметь один обновляемый некластеризованный индекс columnstore, а также теперь можно создать один columnstore индекс на таблице оптимизированной для памяти;
- Улучшения In-Memory OLTP – данная технология также получила новые функциональные возможности такие как: поддержка операторов UNION, UNION ALL, DISTINCT, поддержка UNIQUE индексов, ограничений CHECK и FOREIGN KEY, триггеров, а также вложенных запросов;
- Database Scoped Configurations – эта возможность позволяет конфигурировать ряд параметров конфигурации базы данных на индивидуальном уровне базы данных;
- Live Query Statistics — SQL Server Management Studio 2016 предоставляет возможность просмотра живого плана выполнения активного запроса, другими словами, теперь можно в режиме реального времени смотреть, как выполняется запрос. С помощью данной возможности мы можем легко определить, какая часть запроса выполнятся достаточно долго и соответственно на основе этого скорректировать запрос, т.е. оптимизировать его;
- Query Store – данная функция автоматически фиксирует историю запросов, планов и статистики во время выполнения, и сохраняет их для обзора, что позволяет администраторам баз данных отслеживать ресурсоёмкие запросы и оптимизировать их;
- System-Versioned Temporal Tables – это новый тип временных таблиц, который позволяет сохранять полную историю изменений данных и получать информацию об этих данных на любой момент времени, а не только на текущий;
- Встроенная поддержка JSON – в SQL Server 2016 появилась возможность обрабатывать данные в формате JSON, т.е. теперь мы стандартными средствами можем экспортировать и импортировать JSON данные;
- Row-Level Security (RLS) – данная технология позволяет контролировать доступ к строкам в таблице базы данных на основе характеристик пользователя, выполняющего запрос (например, членство в группе или контекст выполнения). Другими словами, мы можем сделать так, чтобы один или несколько пользователей могли видеть (и соответственно обрабатывать) только определенные строки в таблице;
- Dynamic Data Masking – это функция динамической маскировки данных. Целью этой функции ограничить раскрытие конфиденциальных данных, запрещая пользователям, которые не должны иметь доступ к этим данным, просматривать их. Эта функция не шифрует данные, поэтому рекомендуется использовать Dynamic Data Masking в сочетание с другими технологиями безопасности, например, с Encryption или Row-Level Security, чтобы лучше защитить свои данные;
- Другие улучшения. Более подробную информацию можно найти в официальной документации вот ссылка — SQL Server 2016 Technical Documentation.
Сравнение версий SQL Server
Далее предлагаю сравнить все поддерживаемые версии MS SQL Server, для того чтобы было наглядно видно эволюцию SQL сервера, т.е. в какой версии появился тот или иной функционал.
Возможность, функционал | Версия SQL Server | |||
2008 R2 | 2012 | 2014 | 2016 | |
In-memory OLTP | + | + | ||
In-memory ColumnStore | + | + | + | |
Real-time operational analytics | + | |||
Query Store | + | |||
AlwaysOn | + | + | + | |
Always Encrypted | + | |||
Прозрачное шифрование данных | + | + | + | + |
Row-level security | + | |||
Dynamic data masking | + | |||
Поддержка шифрования резервного копирования | + | + | ||
Детальный аудит | + | + | + | + |
Поддержка JSON | + | |||
PolyBase | + | |||
Stretch Database | + | |||
Архивирование в Azure | + | + | + | |
Управление на основе политик | + | + | + | + |
Мобильная бизнес-аналитика | + | |||
Сервисы интеграции, управляемые в качестве сервера | + | + | + | |
Многомерные семантические модели | + | + | + | + |
SQL Server R Services | + |
Редакции Microsoft SQL Server 2016
SQL Server 2016 выпускается в четырех основных редакциях: Enterprise, Standard, Developer и Express. Enterprise и Standard это реакции, которые используются в промышленной эксплуатации. Редакция Developer используется для разработки приложений, Express для обучения, или просто для знакомства с SQL сервером. Ниже представлена сравнительная таблица этих редакций, из которой Вы узнаете, какими возможностями и ограничениями обладает та или иная редакция.
Функционал, ограничение | Редакции Microsoft SQL Server 2016 | |||
Enterprise | Standard | Developer | Express | |
Максимальное количество ядер | Неограниченно | 24 | Неограниченно | 4 |
Максимальный объем используемой памяти | Максимально для ОС | 128 GB | Максимально для ОС | 1 GB |
Максимальный размер базы данных | 524 PB | 524 PB | 524 PB | 10 GB |
SQL Server Management Studio, управление на основе политик | + | + | + | + |
In-memory OLTP | + | + | ||
In-Memory Columnstore | + | + | ||
Always On Availability Groups | + | + | ||
Row-level security | + | + | + | |
Dynamic Data Masking | + | + | + | |
Always Encrypted | + | + | ||
PolyBase | + | + | + | |
Базовая отчетность и аналитика | + | + | + | + |
T-SQL, JSON, CLR | + | + | + | + |
SQL Server Integration Services | + | + | + | |
Mobile Reports | + | + | ||
Stretch Database | + | + | + | + |
Базовая интеграция R | + | + | + | + |
Расширенная интеграция R | + | + |
Системные требования для установки SQL Server 2016
А сейчас давайте рассмотрим требования, которые необходимо выполнить, для того чтобы установить SQL Server 2016. В таблице представлены минимальные требования к процессору и ОЗУ. Рекомендовано использовать более высокие характеристики, также следует отметить то, что x86 процессоры больше не поддерживаются, что означает SQL Server 2016 можно установить только на компьютер с процессором x64 и полный функционал будет доступен только в 64 разрядных версиях Windows.
Характеристика | Редакции Microsoft SQL Server 2016 | |||
Enterprise | Standard | Developer | Express | |
Операционная система (64 разрядная) | Windows Server 2012, 2012 R2 | Windows 8, 8.1, 10, Windows Server 2012, 2012 R2 | Windows 8, 8.1, 10, Windows Server 2012, 2012 R2 | Windows 8, 8.1, 10, Windows Server 2012, 2012 R2 |
Частота процессора | 1.4 ГГц | 1.4 ГГц | 1.4 ГГц | 1.4 ГГц |
Оперативная память | 1 GB | 1 GB | 1 GB | 512 MB |
Свободное место на жестком диске | 8 GB | 8 GB | 8 GB | 8 GB |
Подробней обо всех аппаратных и программных требованиях для установки SQL Server 2016 можете почитать в официальной технической документации вот ссылка.
Заметка! Профессиональные видеокурсы по T-SQL.
На этом предлагаю заканчивать, надеюсь, материал был Вам полезен, пока!