SQL Server 2017 теперь находится в версии Release Candidate 1 и доступен для загрузки с поддержкой Windows и Linux.
Самым удивительным изменением в SQL Server 2017 является добавление поддержки Linux. Когда об этом было объявлено, Скотт Гатри, глава подразделения Microsoft Cloud & Enterprise, сказал:
«SQL Server на Linux предоставит клиентам еще большую гибкость в их решениях для обработки данных».
Когда было сделано объявление, Microsoft заявила, что версия для Linux может быть ограничена основными функциями реляционной базы данных. Однако то, что сейчас было объявлено, описывается как предлагающее все функции SQL Server v.Next для Linux и Windows. SQL Server v.Next — это бета-версия SQL Server 2017.
Microsoft сообщает, что для включения SQL Server в Linux они использовали технологию, называемую уровнем абстракции платформы SQL (SQLPAL). Это произошло из технологии под названием Drawbridge, разработанной Microsoft Research. Drawbridge — это форма виртуализации для приложений, основанная на двух основных технологиях: пикопроцесс, который представляет собой контейнер изоляции на основе процессов с минимальной поверхностью API ядра; и библиотечная ОС, которая представляет собой версию Windows, предназначенную для эффективной работы в пикопроцессе.
Версия кандидата на выпуск для Linux включает те же решения высокой доступности, что и версия Windows Server, включая группы доступности AlwaysOn, интегрированные с собственными решениями кластеризации Linux, такими как Pacemaker. На практике он поддерживает интеграцию с Active Directory. Безопасность транспортного уровня (TLS) поддерживается для шифрования данных; а службы интеграции SQL Server работают в Linux. Версия SQL может быть установлена на Red Hat Enterprise Linux, Ubuntu Linux, SUSE Linux Enterprise Server. Вы также можете установить его в контейнерах Linux Docker.
Обработка графических данных — еще одна область улучшения. Это позволяет моделировать отношения «многие ко многим». База данных графа — это набор узлов и ребер, где узел представляет собой объект, а ребро представляет связь между двумя узлами, которые он соединяет. Отношения графа в SQL Server 2017 интегрированы в Transact-SQL. Расширения Transact-SQL означают, что вы можете создавать узловые или граничные таблицы. Поскольку узлы и ребра хранятся в виде таблиц, все операции, которые поддерживаются в реляционных таблицах, поддерживаются в таблице узлов или краев. Новое ключевое слово Match было добавлено для поддержки сопоставления с образцом и многоскачковой навигации по графику.
Еще одно дополнение — адаптивная обработка запросов. Это набор функций, который пытается автоматически решить проблему, когда план, выбранный оптимизатором запросов, является неоптимальным. Например, если предполагаемое количество строк, проходящих через план запроса, было неверным, возможно, был реализован неправильный план. Адаптивная обработка запросов позволяет избежать дополнительной настройки со стороны администраторов базы данных. Он может настраивать предоставление памяти в пакетном режиме, создавать адаптивные объединения в пакетном режиме и настраивать выполнение запросов с чередованием.
Другой пример открытия SQL Server — добавление интеграции Python для расширенной аналитики. Теперь вы можете запускать аналитику в базе данных с помощью Python или R. Это основано на том, что называлось R Services в последней версии SQL Server, хотя теперь это было переименовано в Machine Learning Services. Эта служба позволяет выполнять расширенную аналитику ваших данных без необходимости извлекать их во внешний формат.
Вы можете использовать службы машинного обучения для запуска сценариев R или Python в SQL Server или установить автономный сервер машинного обучения Microsoft для развертывания и использования моделей R и Python, для которых не требуется SQL Server. Обе платформы включают новые алгоритмы MicrosoftML для распределенного машинного обучения и последнюю версию Microsoft R. Вариант Python включает модуль revoscalepy, который поддерживает подмножество распределенных алгоритмов и контекстов вычислений, представленных в RevoScaleR.