Вы, наверное, знаете, что начиная с версии SQL Server 2016 была возможность исполнять код на языке программирования R внутри SQL Server.
Теперь же, с версии SQL Server 2017 в ядре сервера также поддерживается язык программирования Python, для чего в SQL Server было внесено ряд изменений, позволяющих исполнять внешний код внутри ядра. Хотя, по правде говоря, не совсем внутри, а точнее сказать совсем не внутри, но давайте рассмотрим подробнее, по компонентам, см. рисунок ниже.
Если поанализировать структуру SQL Server 2016, то эти же, или почти эти, компоненты присутсвовали и в нем, но теперь с их помощью можно исполнять код написанный на языке Python.
Пару слов о каждой из компонент:
Обратите внимание на то, что часть комопнент связана через внутренние коммуникации с использованием протокола Named Pipe, для ускорения обмена данными.
Порядок взаимодействия:
Данные подход позволяет расширить SQL Server практически любыми внешними языкам.
Как видно из рисунка ниже, перенос исполнительного механизма Python внутрь SQL Server решил проблему параллельного исполнения кода Python в ОС Windows.
Для расширения возможностей Python в SQL Server, Microsoft разработал специальную библиотеку RevoscalePy, обеспечивающую различные методы обработки данных включая:
Дополнительные алгоритмы такие как, нейронные сети поставляются в microsoftml как отдельный пакет для Python в MicrosoftML.
Перед выходом в свет SQL Server 2017 в SQL Server 2016 был только R-Services в двух ипостасях:
Сейчас (после добавления Python) все это называется Machine Learning Services, включающий в себя R и Python в виде:
SPS_x.x.x.x_1033.cab и SPO_x.x.x.xx_1033.cab перед запуском SQL Server Installation Center должны быть загружены из Internet и размещены в папке.
Для установки поддержки Python, запустите SQL Server Installation Center.
Выберите вариант установки. Если вы устанавливаете In-Database Python (R) Services. то выберите как показано на рисунке ниже. Если же вы устанавливаете его в режиме Standalone, то выберите раздел из Shared Features.
Если же вы устанавливаете его в режиме Standalone, то выберите раздел из Shared Features.
Если вы собираетесь разрабатывать, тестировать или отлаживать ваш собственный Python-код, то рекомендую использовать следующие компоненты:
На этом установка Python для работы на SQL Server в режиме In-Database Python (R) Services завершается.
Настройку SQL Server для исполнения кода и написание кода мы рассмотрим в следующей статье.
Александр Каленик, Senior Premier Field Engineer (PFE), MSFT (Russia)
14 окт. 2018 г.
Категория SQL Server