Релиз на InterSystems IRIS 2020.1

Релиз на InterSystems IRIS 2020.1

В края на март излезе нова версия на платформата за данни InterSystems IRIS 2020.1. Дори пандемията от коронавируса не попречи на релиза.

От важното в новия релиз — повишаване на производителността на ядрото, генериране на REST приложение по спецификация OpenAPI 2.0, шардиринг за обекти, нов вид Управленски Портал, поддръжка на MQTT, универсален кеш на заявки, нов фреймворк за създаване на продукти на Java или .NET. Пълният списък с промени и Upgrade Checklist на английски език може да бъде намерен по връзката. Повече информация — под кат.

InterSystems IRIS 2020.1 — това е релиз с разширена поддръжка. InterSystems пуска два вида релизи на InterSystems IRIS:

  • Релизи с непрекъснато предоставяне. Излизат три-четири пъти годишно под формата на Docker изображения. Предназначени за разработване на приложения и внедряване в облака или Docker контейнери.
  • Релизи с разширена поддръжка. Излизат по-рядко, но за тях се пускат обновления с корекции. Излизат на всички платформи, поддържани от InterSystems IRIS.

Между релизите с разширена поддръжка 2019.1 и 2020.1 излязоха само релизи в Docker изображения — 2019.2, 2019.3, 2019.4. Всички нови функции и корекции от тези релизи са включени в 2020.1. Някои възможности от изброените по-долу се появиха за първи път в един от релизите 2019.2, 2019.3, 2019.4.

И така.

Разработка на REST приложения по спецификация

В допълнение към InterSystems API Manager, поддържан от версия 2019.1.1, в релиз 2020.1 се появи възможност за генериране на скелетен код за REST услуга по спецификация във формат OpenAPI 2.0. Повече информация вижте в секцията с документация "Създаване на REST услуги».

Конвертиране на инсталация Caché или Ensemble

Този релиз позволява при инсталацията да се конвертира инсталация Caché или Ensemble в InterSystems IRIS. Самата конверсия може да изисква изменения в програмния код, настройки или други скриптове, но в повечето случаи ще е проста.

Преди конверсията прочетете InterSystems IRIS In-Place Conversion Guide и InterSystems IRIS Adoption Guide. Тези документи се намират на сайта на Световния център за поддръжка на InterSystems в секцията "Документи».

Клиентски езици

InterSystems IRIS Native API за Python

Нискоуровнев достъп от Python до многомерни масиви, в които InterSystems IRIS съхранява данни. Повече информация — "Native API for Python».

InterSystems IRIS Native API для Node.js

Нискоуровнев достъп от Node.js до многомерни масиви, в които InterSystems IRIS съхранява данни. Повече информация — "Native API for Node.js».

Реляционный доступ для Node.js

Поддержка ODBC-доступа к InterSystems IRIS для разработчиков на Node.js

Двустранна комуникация в Java и .NET шлюзове

Връзките между .NET и Java шлюзовете сега са двупосочни. Тоест, програма на .NET или Java, извикана от IRIS чрез шлюза, използва същата връзка за контактиране с IRIS. Повече информация — «Java Gateway Reentrancy».

Подобрения в Native API за Java и .NET

IRIS Native API за Java и .NET поддържа списъци $LIST и предаване на параметри по референция.

Нов вид Портал за управление

В това издание са включени първите промени в Портала за управление. Те засега касаят само външния вид и не засягат функционалността.

SQL

  • Универсален кеш на заявките. Започвайки от 2020.1, всички заявки, включително вградени заявки и заявки на класове, ще се запазват като кеширани заявки. Преди използването на вградени заявки изискваше прекомпилиране на програмата за генериране на нов код на заявката, например, ако е появил нов индекс или е променена статистиката на таблицата. Сега всички планове за заявки се съ хранят в един кеш и се почистват независимо от програмата, в която се използва заявката.

  • По-голям брой типове заявки сега могат да се паралелизират, включително DML заявки.

  • Заявките към таблица, разделена по шардове, сега могат да използват неявно обединение "->".

  • Заявките, стартирани от Портала за управление, сега се изпълняват във фонов режим. Дългите заявки вече няма да се прекратяват поради таймаут на уеб страницата. Продължителните заявки вече могат да бъдат отменяни.

Интеграционни възможности

Нов фреймуърк за създаване на елементи на продукцията на Java или .NET

В това издание бе включен новият фреймуърк PEX (Production EXtension), който дава допълнителен избор на език за реализиране на компонентите на продукцията. В това издание PEX поддържа Java и .NET за разработка на бизнес услуги, бизнес процеси и бизнес операции, както и за входящи и изходящи адаптери. Преди можеше да се създават само бизнес услуги и бизнес операции и трябваше да се извиква кодогенератор в Портала за управление. Фреймуъркът PEX предоставя по-гъвкави средства за включване на код на Java и .NET в компонентите на продукцията, често без програмиране на ObjectScript. В пакет PEX са включени следните класове:

Повече информация — «PEX: Developing Productions with Java and .NET».

Мониторинг на използването на портовете в продукциите.

Утилитата Port Authority проследява портовете, използвани от бизнес услугите и операциите. С нея можете да определите наличните портове и да ги резервирате. Повече информация — «Управление на използването на портове».

Адаптери за MQTT

В това издание са включени адаптери, поддържащи протокола MQTT (Message Queuing Telemetry Transport), който често се използва в приложения за интернет на нещата (Internet of Things — IoT). Повече информация — «Използване на MQTT адаптери в производства».

Шардинг

Оптимизирана архитектура

В това издание се появи по-прост и разбираем начин за създаване на клъстер — на база отделни сървъри (node level), а не зони, както в предишните версии. Новият API — %SYSTEM.Cluster. Новият подход е съвместим със стария — клъстер на база области (namespace level), — и не изисква промени в съществуващите инсталации. Повече информация — «Елементи на шардинга» и „Шардинг API».

Други подобрения в шардинга:

  • Сега можете да ко-шардирате (разпределяте по едни и същи шардове често свързани части от две таблици) всяка две таблици. Преди това можеше да се прави само с таблици, които имаха общ шард-ключ. От началото на това издание синтаксисът COSHARD WITH се прилага и за таблици със системен идентификатор. Повече информация — «Създайте таблиците» и „Дефиниране на шардирана таблица».
  • По-рано можете да обозначите таблицата като клъстерна само чрез DDL, сега това може да се направи и в описанието на класа — новата ключова дума Sharded. Повече информация — «Дефиниране на шардирана таблица чрез създаване на постоянен клас».
  • Обектната модел сега поддържа шардинг. Методи %New(), %OpenId и %Save() работят с обекти от класа, чийто данни са разпределени по няколко шардове. Обърнете внимание, че кодът се изпълнява на сървъра, към който е свързан клиентът, а не на този, където се съхранява обектът.
  • Оптимизиран алгоритъм за изпълнение на клъстерни заявки. Мениджърът на опашката на заявки (Unified Shard Queue Manager) поставя заявките в опашка за изпълнение на група процеси, вместо да стартира нови процеси за всяка заявка. Броят на процесите в групата се определя автоматично, в зависимост от ресурсите на сървъра и натоварването.

Инфраструктура и разгръщане в облака.

В това издание са включени подобрения в инфраструктурата и разгръщането в облака, включително:

  • Поддръжка на Tencent Cloud. InterSystems Cloud Manager (ICM) сега поддържа създаване на инфраструктура и разгръщане на приложения на база InterSystems IRIS в Tencent Cloud.
  • Поддръжка на именувани обеми (named volumes) в Docker, в допълнение към монтиране на папки (bind mount).
  • ICM поддържа гъвкаво мащабиране — конфигурациите вече могат да се мащабират, т.е. да се пресъздават с повече или по-малко възли. Повече информация — «Повторно предоставяне на инфраструктурата» и „Повторно разгръщане на услуги».
  • Подобрения в създаването на собствен контейнер.
  • ICM поддържа нова архитектура на шардиринг.
  • Потребителят по подразбиране в контейнерите вече не е root.
  • ICM поддържа създаване и разгръщане на частни мрежи, в които възел-бастион свързва частната мрежа с публичната мрежа и предоставя допълнителна защита от атаки за отказ на услуга.
  • Поддръжка на откритие на услуги чрез защитен RPC.
  • ICM поддържа разгръщане в няколко региона. Така се осигурява висока наличност на системата, дори ако целият регион спре да работи.
  • Възможност за актуализиране на ICM и запазване на информацията за вече разгръщаните системи.
  • Безконтейнерен режим — ICM вече може директно, без контейнери, да разгръща клъстерни конфигурации на Google Cloud Platform, както и да инсталира Web Gateway върху Ubuntu или SUSE.
  • Поддръжка на сливане на iris.cpf от два файла. Това помага на ICM да стартира InterSystems IRIS с различни настройки в зависимост от режима, в който инсталацията работи. Тази възможност улеснява автоматизацията и поддръжката на различни инструменти за управление на конфигурации, като Kubernetes.

Анализ

Изборна реконструкция на куб

Започвайки от този релиз, InterSystems IRIS Business Intelligence (по-рано известен като DeepSee) поддържа изборно построение на куб — само един показател или измерение. Може да бъде променено описанието на куба и да се реконструира само това, което е променено, запазвайки наличността на целия куб по време на реконструкцията.

PowerBI конектор

Microsoft PowerBI вече поддържа работа с таблици и кубове на InterSystems IRIS. Конекторът се предлага с PowerBI, започвайки от релиза през април 2019 г. Повече информация — «InterSystems IRIS Connector за Power BI».

Преглед на резултатите от заявката

В този релиз се появи нов режим на преглед при съставяне на сводни таблици в Analyzer. Така може бързо да се оцени правилността на заявката, без да се чака нейното пълно изпълнение.

Други подобрения

  • Обход на глобала с функцията $ORDER в обратна посока (direction = -1) вече е толкова бърз, колкото и в права.
  • Подобрена производителност на логването.
  • Добавена поддръжка за Apache Spark 2.3, 2.4.
  • Добавена поддръжка за клиент WebSocket. Клас %Net.WebSocket.Client.
  • Класът за контрол на версиите сега обработва събития при промени в продуктовата страница.
  • Бели списъци за филтриране на допустимите заявки към CSP, ZEN и REST.
  • Поддръжка на .NET Core 2.1.
  • Подобрена производителност на ODBC.
  • Структурирано логиране за улесняване на анализа на messages.log.
  • API за проверка на грешки и предупреждения. Клас %SYSTEM.Monitor.GetAlerts().
  • Компилаторът на класове сега проверява дали името на глобалната променлива в описанието на хранилището не надвишава максималната дължина (31 символ) и връща грешка, ако е така. Преди името на глобалната променлива без предупреждение се съкращаваше до 31 символ.

Къде да намеря

Ако имате поддръжка — свалете дистрибутива от раздела Онлайн дистрибуции на сайта wrc.intersystems.com

Ако просто искате да пробвате InterSystems IRIS — https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Още по-лесно чрез Docker:

docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0

Уебинар

На 7 април в 17:00 московско време ще се проведе уебинар, посветен на новия релиз. Той ще бъде воден от Джеф Фрид (директор, управление на продуктите) и Джо Лихтенберг (директор на продуктово и индустриално маркетинг). Регистрирайте се! Уебинарът ще бъде на английски език.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster