Этим летом вышел новый релиз платформы данных InterSystems IRIS Data Platform 2021.1.

Основные «темы» в этом релизе связаны с расширением доступности платформы для разработчиков на различных технологиях и новыми возможностями по анализу данных.

Расширяется выбор доступных языков разработки, как серверных, так и клиентских, а также новые компоненты для аналитики больших объемов данных. Но, обо всём по порядку.

InterSystems IRIS 2021.1 является релизом с расширенной поддержкой, который выпускается один раз в год. Он включает в себя все изменения и улучшения промежуточных релизов (2020.2, 2020.3, 2020.4), выходивших в виде docker-контейнеров, а также новый функционал.

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

Аналитика

Новый компонент InterSystems IRIS Adaptive Analytics

Вместе с платформой InterSystems IRIS 2021.1 можно использовать дополнительный продукт  InterSystems IRIS Adaptive Analytics. Он обеспечивает создание единой виртуальной модели данных на основе данных InterSystems IRIS для различных инструментов бизнес-аналитики (BI), таких как Microsoft Excel, Microsoft Power BI, Tableau, и инструментов искусственного интеллекта (AI). Продукт ускоряет выполнение аналитических запросов по этой модели за счет того, что в фоновом режиме создаются и поддерживаются в актуальном состоянии независимые промежуточные структуры данных.

Оконные  функции

В SQL появилась поддержка оконных функций, которые позволяют делать сложные вычисления в рамках одного запроса на отдельных диапазонах рядов. Синтаксис работы с такими функциями выглядит следующим образом:

window-function() OVER (
	[ PARTITION BY partfield ]
  [ ORDER BY orderfield ]
  [ ROWS framestart ] | [ ROWS BETWEEN framestart AND frameend ]
)

Ускорение запросов во встроенном BI

Значимые улучшения были сделаны во встроенном BI-компоненте в InterSystems IRIS Data Platform за счет изменений в «движке» MDX-запросов.

Новые возможности для разработки приложений

Интеграция с R и Python

В 2021.1 расширяется линейка языков программирования доступных для использования совместно с InterSystems IRIS Data Platform. К уже имеющимся Java Gateway и .NET Gateway добавляются шлюзы для R и Python. Код на этих языках может вызываться в отдельном процессе или на внешнем сервере. Python Gateway поддерживает виртуальные среды, тем самым давая возможность использовать, например, разные версии Python на каждом отдельном Gateway.

Обновления в External Language Servers (ELS)

Помимо R и Python Gateway, улучшена работа ELS в целом. Для всех внешних сред поддерживается автоматический запуск шлюза при первом использовании и безопасное повторное использование установленных соединений. Таким образом, внешнее приложение может прозрачным образом обратиться к InterSystems IRIS за данными и вернуть исполнение обратно, без необходимости явно создавать новое соединение.

.NET Gateway

.NET Gateway теперь поддерживает .NET Core 2.1

Внешние хранимые процедуры в SQL

Для SQL сделали расширение в виде поддержки внешних хранимых процедур. Это дает возможность вызывать фрагменты кода, написанные на Java, .NET, Python, прямо из SQL-запросов. Внешний код вызывается с использованием соответствующего Gateway и имеет следующий синтаксис для создания:

CREATE FUNCTION name(parameter_list) [characteristics] 
    LANGUAGE { JAVA | PYTHON | DOTNET } 
    EXTERNAL NAME external-stored-procedure

Подробнее можно почитать тут.

Пользовательские функции агрегирования

Необходимую логику агрегации можно теперь реализовывать в пользовательских функциях агрегирования, поддержка которых также появилась в текущем релизе. В SQL работа с ними происходит при помощи CREATE AGGREGATE и DROP AGGREGATE

Улучшения в клиентских API

В этом релизе добавлен полностью «нативный» клиентский SDK для Python работающий на всех платформах, поддерживающих Python.

  • Также все доступные Native API теперь поддерживают работу с $list и $order.

  • В ODBC-драйвере расширена поддержка T-SQL, а в XEP добавлена поддержка отложенного индексирования (deferred indexing).

IntegratedML

В InterSystems IRIS 2021.1 получил широкую доступность (впервые появившийся в версии 2020.3) новый функционал IntegratedML. Простой и интуитивно-понятный SQL-синтаксис, помогает аналитикам и разработчикам использовать машинное обучение. IntegratedML позволяет обучать и использовать модели непосредственно в платформе данных InterSystems IRIS. Выглядит это вот так:

Создаем модель:

CREATE MODEL HousePriceModel PREDICTING (Price) FROM HouseData

Обучаем модель:

TRAIN MODEL HousePriceModel FROM HouseData

Извлекаем предсказание:

SELECT *, PREDICT(HousePriceModel) FROM NewHouseData

Подробнее и с примерами в можно найти тут, и посмотреть на видео вот тут.

А также

  • Добавляется поддержка Java SE 11 LTS. Во всех своих Java-компонентах InterSystems поддерживает и Oracle OpenJDK, и AdoptOpenJDK.

  • В JDBC-driver добавили поддержку пула соединений (connection pooling) для более эффективной работы.

  • Для VSCode вышла версия 1.0 расширения поддерживающего работу с ObjectScript -  VSCode-ObjectScript

  • Обновилась поддерживаемая версия Spark, теперь поддерживается - 2.4.4

Администрирование и операции

InterSystems Kubernetes Operator (IKO)

Добавлен новый компонент для конфигурирования и развертывания динамических кластеров с InterSystems IRIS в Kubernetes – InteSystems Kubernetes Operator. Он впервые появился в 2020.2, а начиная с 2021.1 добавилась возможность развертывания инструмента мониторинга InterSystems System Alerting & Monitoring (SAM).В InterSystems Cloud Manager (ICM) добавили поддержку InterSystems API Manager и SAM.

Другие изменения одним списком

Добавилась поддержка зеркалирования (синхронного и асинхронного) для кластеров с распределенным хранилищем данных («шардинг»). Начиная с версии 2020.3 можно настроить зеркалирование для отдельных узлов или для всего кластера в целом. Подробнее о сценариях найдете по этой ссылке.

В SQL появились новые возможности для администрирования базы данных. В синтаксис были добавлены такие операции как “BUILD INDEX,” “FREEZE PLANS,” “PURGE CACHED QUERIES,” “CREATE INDEX”. Это может быть полезно в сценариях, когда у пользователя есть только JDBC- / ODBC-доступ без возможности выполнить эти действия через Терминал или Портал Управления.

Добавлен новый образ iris-lockeddown для создания контейнеров с InterSystems IRIS с максимальными настройками безопасности для развертывания «чувствительных» приложений в сложных средах и окружениях.

Начиная с 2021.1 InterSystems IRIS доступна на платформах ARM и как полноценная установка и как контейнер. Больше информации можно найти в описании поддерживаемых платформ.

Новые интеграционные возможности

Новая версия InterSystems API Manager

Вместе с новой версией InterSystems IRIS 2021.1 становится доступной новая версия InterSystems API Manager 2.3, в которой содержится множество улучшений функционала, в том числе новые «плагины». Подробнее про это можно почитать в отдельном описании этого компонента.

Компоненты для работы с X12

Появились Бизнес служба и Бизнес операция (EnsLib.EDI.X12.Service и EnsLib.EDI.X12.Operation), которые позволяют через SOAP обмениваться сообщениями в формате X12. 

Новый block-level механизм сжатия хранилища (экспериментальный функционал)

В InterSystems IRIS 2021.1 доступен (впервые появившийся в 2020.2) новый механизм сжатия хранимых данных на уровне блоков (block-level), который позволяет значительно снижать занимаемое место в зависимости от кардинальности данных в глобалах. Особенно хорошо это работает, когда в данных есть много нулей и пробелов.

Сжатие на уровне блоков – экспериментальный механизм и не должен быть использован в промышленной эксплуатации. Он достаточно хорошо протестирован и способен давать значимый выигрыш в занимаемом месте, но есть риски, что в ряде случаев он может оказать негативное влияние на производительность. В некоторых сценариях производительность может увеличиваться за счет того, что меньше данных необходимо перемещать между хранилищем и памятью, но в некоторых сценариях может наблюдаться обратный эффект из-за затрат на сжатие и декомпрессию. Конечный результат сильно зависит от конкретного приложения и платформы, на которой оно работает. По этой ссылке есть подробное описание.

Другие интересные новшества

Добавлена поддержка PKCE (Proof Key for Code Exchange) в OAuth-аутентификации. PKCE позволяет безопасно осуществлять OAuth-аутентификацию с открытых клиентов и сильно снижает риски перехвата кода авторизации.

В SQL сделали реорганизацию утилит и функций для администрирования – их вынесли в отдельные пакеты: %SYSTEM.SQL.Functions, %SYSTEM.SQL.Schema и %SYSTEM.SQL.Stats.Runtime. Ранее все они находились в пакете %SYSTEM.SQL. (добавлено в 2020.3)

Transact-SQL стал доступен при подключении через JDBC (добавлено в 2020.3)

Класс для работы со списками List стал доступен в Node.js Native API (добавлено в 2020.3)

Большое количество улучшений было сделано в SQL-движке. На достаточно широком наборе запросов на тестовом стенде наблюдается прирост в 6% в производительности при переходе на 2021.1 с более ранних релизов.

В этом релизе также добавляется новый алгоритм для оценки селективности полей в процессе сборки статистики таблиц. Это приводит к тому, что SQL-оптимизатор выбирает более быстрый план выполнения запроса для всех SQL-запросов (впервые в 2020.2).

Скачать

Если у Вас есть поддержка - добро пожаловать в раздел Software Distribution портала WRC.

Если вы только хотите попробовать InterSystems IRIS — https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Одной строкой через Docker:

docker run --name iris21 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2021.1.0.215.0

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