На конференции Ignite в 2015 году представители Microsoft объявили о том, что следующая версия SQL Server, называвшаяся ранее SQL Server vNext, получит официальное наименование SQL Server 2016. Вне всякого сомнения, работа над SQL Server 2016 велась ударными темпами, и новый продукт увидит свет всего лишь через два года после выпуска предыдущей версии — SQL Server 2014. По меркам программных средств, играющих жизненно важную роль в деятельности предприятий, такой цикл разработки можно назвать бурным, и многим компаниям будет непросто шагать в ногу с Microsoft. Но корпорация преисполнена решимости сделать так, чтобы потребители тем не менее склонялись к приобретению версии SQL Server 2016. Более подробную информацию о функциях SQL Server 2016 можно найти на сайте SQL Server 2016 Preview и в дневнике SQL Server Blog. Кроме того, рекомендую ознакомиться с разделом SQL Server Evolution на канале Channel 9. Ниже перечислены восемь достойных внимания функций, реализованных в версии SQL Server 2016.
1. Always Encrypted
Эта функция обеспечивает защиту данных, пребывающих в состоянии покоя или в процессе передачи (см. экран 1). С помощью Always Encrypted система SQL Server может управлять зашифрованными данными, при этом ключ шифрования может храниться вместе с приложением. Шифрование и дешифровка данных осуществляются транспарентно внутри приложения. Это означает, что хранящиеся в системе SQL Server данные шифруются. Это обстоятельство может защитить их от администратора баз данных и от системных администраторов, а также играет определенную роль при выполнении нерегламентируемых запросов, при работе с отчетами и при экспорте данных.
Экран 1. Always Encrypted |
2. Stretch Database
Идея, лежащая в основе этой технологии, представляет несомненный интерес. Функция Stretch Database дает возможность динамически размещать локальные базы данных на платформе Azure (см. экран 2). А это позволяет оставлять на локальном оборудовании часто используемые, «горячие» данные, а нечасто используемые («холодные») данные перемещать в «облако». Таким образом, вы сохраняете преимущества использования малозатратных средств хранения данных в Azure и при этом работаете с высокопроизводительными приложениями. Однако здесь корпорации Microsoft надо приложить все усилия для разделения запросов. Их не должно «заносить» в «облако», ибо при этом весь полученный ранее выигрыш в производительности сойдет на нет.
Экран 2. Stretch Database |
3. Real-time Operational Analytics
Данная функция воплощает динамический дуэт технологий SQL Server, обеспечивающих выполнение транзакций в памяти (см. экран 3). В ней сочетаются технологии обработки в памяти In-Memory OLTP и индексов в памяти in-memory columnstore, позволяющие выполнять операционную аналитику в реальном времени. Назначение данной функции — настроить систему для достижения оптимального быстродействия транзакций, а также для повышения степени паралеллизма рабочих нагрузок. Судя по всему, это великолепное сочетание, а применение аналитики к такому показателю, как быстродействие системы, — долгожданная возможность для многих потребителей. Однако, для того чтобы воспользоваться достоинствами этого решения, вам, несомненно, понадобится достаточный объем памяти.
Экран 3. Real-time Operational Analytics |
4. PolyBase в SQL Server
Стратегическое значение Больших Данных продолжает возрастать, но, если вы не располагаете программно-аппаратным комплексом для хранения и параллельной обработки критически важных данных SQL Server Parallel Data Warehouse (PDW), подключение SQL Server к комплексам Больших Данных, и в первую очередь к наборам Hadoop, будет сопряжено с определенными трудностями (см. экран 4). В предыдущих версиях PDW оставался единственной версией SQL Server, оснащенной PolyBase — технологией, служившей своеобразным мостиком между SQL Server и Hadoop в том смысле, что она давала возможность создавать и выполнять запросы SQL в хранилищах данных Hadoop, избавляя оператора от необходимости разбираться в тонкостях HDFS или MapReduce. Так вот, продукт SQL Server 2016, как ожидается, приобщит к основным технологиям PolyBase важнейшие версии SQL Server (возможно, Enterprise edition).
Экран 4. PolyBase в SQL Server |
5. Собственная поддержка JSON
JSON, или JavaScript Object Notation, — это стандартизированный формат обмена данными, который сегодня не поддерживается собственными средствами SQL Server. Чтобы осуществлять операции по импорту и экспорту данных в формате JSON, администратор должен вручную составлять сложные коды на языках T-SQL, SQLCLR или JavaScript. Предполагается, что SQL Server 2016 упростит эти процедуры: в продукте будет напрямую реализована поддержка JSON — аналогично тому, как это сделано в отношении XML. SQL Server 2016 будет собственными средствами осуществлять синтаксический разбор и хранение данных JSON в качестве реляционных данных и обеспечивать экспорт реляционных данных в формат JSON.
6. Усовершенствования AlwaysOn
В системе SQL Server 2016 получат дальнейшее развитие средства обеспечения высокой степени доступности и восстановления после аварийного сбоя; речь идет о нескольких усовершенствованиях средств AlwaysOn. В готовящейся к выпуску версии SQL Server 2016 эти средства будут наделены возможностью иметь до трех синхронных реплик. В дополнение к этому они будут совместимы со службой Distributed Transaction Coordinator (DTC) и смогут обеспечивать циклическую схему балансировки нагрузок на вторичные реплики. В продукте будет реализована поддержка автоматического аварийного переключения при нарушении работоспособности баз данных (см. экран 5).
Экран 5. Усовершенствования AlwaysOn |
7. Усовершенствованный механизм выполнения в памяти транзакций In-Memory OLTP
Впервые реализованный в SQL Server 2014, этот механизм достигнет нового уровня зрелости в версии SQL Server 2016 (см. экран 6). Специалисты Microsoft распространят функциональные возможности In-Memory OLTP на большее число приложений и повысят уровень паралеллизма. Они расширят область применения T-SQL, доведут объем поддерживаемой памяти до терабайтных значений и увеличат число поддерживаемых процессоров.
Экран 6. Усовершенствованный механизм выполнения в памяти транзакций In-Memory OLTP |
8. Частично модернизированный набор инструментов SQL Server Data Tools
Еще одно удачное изменение в версии SQL Server 2016 — повторная консолидация набора инструментов SQL Server Data Tools (SSDT). В процессе работы над SQL Server Data Tools, призванным заменить популярную и полезную среду Business Development Studio (BIDS), специалисты Microsoft в конце концов предложили решение, поставившее в тупик почти всех потребителей: они создали не одну, а две версии SQL Server Data Tools, причем и ту и другую нужно загружать отдельно, вне связи с установкой собственно SQL Server. Выпустив SQL Server 2016, корпорация Microsoft дала понять, что намеревается вновь объединить SQL Server Data Tools (см. экран 7).
Экран 7. Набор инструментов SQL Server Data Tools |