Рэліз 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:

  • Continuous delivery рэлізы. Выходзяць тры-чатыры разы на год у выглядзе вобразаў 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. Падрабязней глядзіце ў раздзеле дакументацыі «Creating REST Services.

Канвертаванне ўсталёўкі 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.

  • Запыты да табліцы, падзеленай па шардах, зараз могуць выкарыстоўваць няяўны join "->".

  • Запыты, якія запускаюцца з Партала кіравання, зараз выконваюцца ў фонавым працэсе. Доўгія запыты зараз не будуць адвальвацца па таймаўце вэб-старонкі. Якія зацягнуліся запыты зараз можна адмяняць.

Інтэграцыйныя магчымасці

Новы фрэймворк для стварэння элементаў прадукцыі на Java ці.

У гэты рэліз увайшоў новы фрэймворк PEX (Production EXtension), які дае дадатковы выбар мовы рэалізацыі кампанентаў прадукцыі. У гэтым рэлізе PEX падтрымлівае Java і. NET для распрацоўкі бізнес-службаў, бізнес-працэсаў і бізнес-аперацый, а таксама для ўваходзяць і выходных адаптараў. Раней можна было ствараць толькі бізнес-службы і бізнес-аперацыі і даводзілася выклікаць кодагенератар у Партале Упраўлення. Фрэймворк PEX падае больш гнуткія сродкі ўключэння кода на Java і. NET у кампаненты прадукцыі, часцяком без праграмавання на ObjectScript. У пакет PEX уваходзяць наступныя класы:

ПадрабязнейPEX: Развіццё канструкцый з Java і .NET.

Маніторынг выкарыстання партоў у прадукцыях.

Утыліта Port Authority адсочвае парты, якія выкарыстоўваюцца бізнес-службамі і бізнес-аперацыямі. З яе дапамогай можна вызначыць даступныя парты і зарэзерваваць іх. ПадрабязнейManaging Port Usage.

Адаптары для MQTT

У гэты рэліз уваходзяць адаптары, якія падтрымліваюць пратакол MQTT (Message Queuing Telemetry Transport), які часта выкарыстоўваецца ў дадатках для Інтэрнэту Рэчаў (Internet of Things – IoT). ПадрабязнейUsing MQTT Adapters in Productions.

Шардынг

Спрошчаная архітэктура

У гэтым рэлізе з'явіўся прасцейшы і зразумелы спосаб стварэння кластара – на базе асобных сервераў (node ​​level), а не абласцей, як у папярэдніх версіях. Новы API - %SYSTEM.Cluster. Новы падыход сумяшчальны са старым – кластар на базе абласцей (namespace level), – і не патрабуе змен у існуючых усталёўках. ПадрабязнейElements of Sharding»І«Sharding APIs.

Іншыя паляпшэнні ў шардынгу:

  • Зараз можна кашардзіць (размяркоўваць па адных і тым жа шардам часта злучаныя часткі дзвюх табліц) любыя дзве табліцы. Раней так можна было рабіць толькі з табліцамі, у якіх быў агульны шард-ключ. Пачынальна з гэтага рэлізу сінтаксіс COSHARD WITH ужываецца і для табліц з сістэмным Id. ПадрабязнейCreate the Tables»І«Defining a Sharded Table.
  • Раней адзначыць табліцу як кластарную можна было толькі праз DDL, зараз гэта можна зрабіць і ў апісанні класа - новае ключавое слова Sharded. ПадрабязнейDefining a Sharded Table by Creating a Persistent Class.
  • Аб'ектная мадэль зараз падтрымлівае шардынг. Метады %New(), %OpenId і %Save() працуюць з аб'ектамі класа, дадзеныя якога размеркаваны па некалькіх шардам. Звярніце ўвагу, што код выконваецца на тым серверы, да якога падключаны кліент, а не на тым, дзе захоўваецца аб'ект.
  • Палепшаны алгарытм выканання кластарных запытаў. Мэнэджар чаргі запытаў (Unified Shard Queue Manager) ставіць запыты ў чаргу на выкананне пулу працэсаў, замест запуску новых працэсаў на кожны запыт. Лік працэсаў у пуле вызначаецца аўтаматычна, зыходзячы з рэсурсаў сервера і нагрузкі.

Інфраструктура і разгортванне ў воблаку.

У гэты рэліз увайшлі паляпшэнні ў інфраструктуры і разгортванні ў воблаку, уключаючы:

  • Падтрымка Tencent Cloud. InterSystems Cloud Manager (ICM) зараз падтрымлівае стварэнне інфраструктуры і разгортванне прыкладанняў на базе InterSystems IRIS у Tencent Cloud.
  • Падтрымка найменных тамоў (named volumes) у Docker, у дадатак да мантавання тэчак (bind mount).
  • ICM падтрымлівае гнуткае маштабаванне - канфігурацыі зараз могуць маштабавацца, гэта значыць пераствараць з вялікім ці меншым лікам вузлоў. ПадрабязнейReprovisioning the Infrastructure»І«Redeploying Services.
  • Паляпшэнні ў стварэнні ўласнага кантэйнера.
  • ICM падтрымлівае новую архітэктуру шардынгу.
  • Карыстальнік па змаўчанні ў кантэйнерах зараз не root.
  • ICM падтрымлівае стварэнне і разгортванне прыватных сетак, у якіх вузел-бастыён злучае прыватную сетку з публічнай сеткай і дае дадатковую абарону ад Denial-of-Service нападаў.
  • Падтрымка выяўлення сэрвісаў па абароненым 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 for 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 сімвала.

дзе ўзяць

Калі ў вас ёсць падтрымка - запампуйце дыстрыбутыў з часткі Online Distributions сайта 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 па маскоўскім часе пройдзе вэбінар, прысвечаны новаму рэлізу. Яго правядуць Джэф Фрыд (Director, Product Management) і Джо Ліхтэнберг (Director of Product & Industry Marketing). Рэгіструйцеся! Вебінар будзе на англійскай мове.

Крыніца: habr.com

Дадаць каментар