На прошлой неделе компания Microsoft на интернет-конференции Data Amp представила SQL Server 2017. Во время презентации были озвучены новые функции решения. Одним из самых значимых нововведений стала интеграция языка Python.


/ Flickr / Jonathan Kriz / CC

Одной из главных функций SQL Server 2016 была интеграция языка R — открытого языка для статистического анализа. Пользователи могли, используя хранимую процедуру sp_execute_external_script, запускать код R, пользующийся преимуществами параллельных вычислений. При этом первым параметром этой процедуры был @language. Компания Microsoft специально сделала процедуру «открытой», и теперь добавила поддержку другого языка — Python.

Пользователи получили возможность запускать Python-скрипты, а также встраивать код Python напрямую в базы данных SQL Server, включая его как хранимую процедуру T-SQL. Это позволяет коду Python развертываться в рабочей среде с данными, которые он будет обрабатывать.

При этом предустанавливать Python не требуется. Во время настройки SQL Server 2017 скачает и установит версию интерпретатора CPython 3.5. Однако пользователи все же будут иметь возможность устанавливать и другие реализации языка программирования. Установка также включает в себя дистрибутив Anaconda, широко используемый в Data Science, и RevoScalePy — набор функций для анализа данных.

Администраторы БД смогут устанавливать ограничения в поведении Python и блокировать скрипты, угрожающие безопасности — изолируя процессы, управляя привилегиями систем и сетевым доступом. Что касается ученых, то нововведение позволит им строить модели, используя полные своды данных на SQL Server, отказавшись от сокращенных выборок. Также они получают возможность пользоваться любыми пакетами Python для машинного обучения. Разработчики приложений смогут просто вызывать хранимые процедуры со скриптом и даже использовать модели Python и R одновременно в одном приложении.

Из других нововведений SQL Server 2017 можно выделить представление графовой базы данных в ядре СУБД — она оказывается полезной в таких областях, как прогнозная аналитика и интернет вещей (IoT) — а также адаптивные планы запросов.

P.S. Компания 1cloud предлагает арендовать дополнительные лицензии на программное обеспечение на сервер: SQL Server Web Edition, SQL Server Standard Edition, SQL Server Enterprise Edition, Microsoft Office и др. Подробности здесь.

P.P.S. О чем еще мы пишем в нашем блоге:

Поделиться с друзьями
-->

Комментарии (15)


  1. Prologos
    25.04.2017 12:04
    -1

    Круто. Стоит ожидать продолжения похоже… какой следующий язык встроят, руби, с..?


  1. VMichael
    25.04.2017 14:12
    +2

    Движение в сторону мешанины из языков, как мне кажется.
    И так то бывает тяжело разобраться в том, что наворочали предшественники.
    Скрещивают ужа и ежа.
    Снизит понимание и увеличит расходы на поддержку.


    1. Nagg
      25.04.2017 22:39
      +3

      Не ужа, а питона :p


  1. AxisPod
    25.04.2017 14:23
    +1

    Зачем Phython, почему нельзя .NET языки. Или MS видели SQL разрабов, которые не знают .NET языки? А дальше что? В автоматизацию офиса PHP? В репорт-сервер — Ruby?


    1. epee
      25.04.2017 16:23
      +2

      .Net языки уже давным давно поддерживаются


      1. AxisPod
        25.04.2017 16:38

        Подключить сборку это одно, а вот прям хранить в БД это другое.


        1. epee
          25.04.2017 16:43
          -1

          что хранить-то?


          1. AxisPod
            25.04.2017 16:50
            +1

            Новость-то читали? Или комменты только?

            Пользователи получили возможность запускать Python-скрипты, а также встраивать код Python напрямую в базы данных SQL Server, включая его как хранимую процедуру T-SQL. Это позволяет коду Python развертываться в рабочей среде с данными, которые он будет обрабатывать.


            1. BalinTomsk
              25.04.2017 19:20
              +2

              А что не так с .Net? Точно так же встрaиваются и процедуры и функции и тригеры.


              1. lumini
                26.04.2017 08:49
                +1

                Ведь нельзя сейчас вызвать хранимку, где параметром — код на c#? Собрать dll в студии и костылями приаттачить к базе можно, да. Но это совсем другой уровень удобства.


                1. sshikov
                  26.04.2017 20:00

                  А кто вам сказал, что с питоном будет удобнее? И почему?


    1. exfizik
      25.04.2017 18:48
      +1

      А встраивание R вас не возмущает? Видимо, это фича в основном нацелена на Data Science, раз приоритет отдаётся R и Python, а не, скажем так, «классической работе» с БД.


  1. uldashev
    25.04.2017 16:23
    +1

    Ну здорово, ученые, эртузиасты, python, R, вы только денег сначала зс лицензии занесите, и новая версия выйдет — тоже занесите.


  1. deksden
    26.04.2017 09:14

    Не до конца ясно, почему именно питон. Придумали как к серверу БД прикрутить нейросети на питоне? Тогда да, какой то смысл прослеживается.


    А если для анализа и обработки данных — то R уже есть.


    Возможно, имеет смысл прикрутить JS — он тоже может работать в функциональном стиле для обработки и анализа данных. Но без модулей из npm полезность JS крайне ограничена для выстраивания алгоритмов. Да и в целом — до конца не представляю, зачем язык общего назначения будет крутится внутри БД?


  1. minamoto
    26.04.2017 13:28

    Во время презентации были озвучены новые функции решения.

    По ссылке открывается статья 2015 года (даже по самой ссылке это видно), в которой описываются новинки SQL Server 2016, который уже вышел.