Utgivelse av InterSystems IRIS 2020.1

Utgivelse av InterSystems IRIS 2020.1

På slutten av mars ble lansert kom den nye versjonen av dataplattformen InterSystems IRIS 2020.1. Selv koronapandemien forhindret ikke lanseringen.

Viktige aspekter ved den nye utgivelsen inkluderer økt ytelse i kjernen, generering av REST-applikasjoner i henhold til OpenAPI 2.0-spesifikasjonen, sharding for objekter, en ny type administrasjonsportal, støtte for MQTT, en universell forespørselscache, og den nye rammen for å lage produkttilbud i Java eller .NET. En komplett liste over endringene og oppgraderingssjekkliste på engelsk kan finnes på lenken. Mer informasjon under katte-delen.

InterSystems IRIS 2020.1 er en versjon med utvidet støtte. InterSystems utgir to typer versjoner av InterSystems IRIS:

  • Continous delivery versjoner. Kommer ut tre-fire ganger i året i form av Docker-bilder. Disse er beregnet for utvikling av applikasjoner og distribusjon i skyen eller i Docker-beholdere.
  • Versjoner med utvidet støtte. Kommer ut sjeldnere, men det gis ut feilrettingsversjoner for dem. Disse utgis på alle plattformer som støttes av InterSystems IRIS.

Mellom versjonene med utvidet støtte 2019.1 og 2020.1 ble det kun utgitt versjoner i Docker-bilder — 2019.2, 2019.3, 2019.4. Alle nye funksjoner og feilrettinger fra disse versjonene er inkludert i 2020.1. Noen muligheter fra de nevnte ble for første gang introdusert i versjonene 2019.2, 2019.3, 2019.4.

Så.

Utvikling av REST-applikasjoner i henhold til spesifikasjonen

I tillegg til InterSystems API Manager, som har vært støttet siden versjon 2019.1.1, fikk versjonen 2020.1 muligheten til å generere en kodebase for REST-tjenester i henhold til spesifikasjonen i OpenAPI 2.0-format. Se mer i dokumentasjonsdelen "Creating REST Services».

Konvertering av Caché- eller Ensemble-installasjoner

Denne utgivelsen lar deg konvertere en Caché- eller Ensemble-installasjon til InterSystems IRIS ved installasjonen. Selve konverteringen kan kreve endringer i programkoden, innstillingene eller andre skript, men i de fleste tilfeller vil den være enkel.

Før du konverterer, les InterSystems IRIS In-Place Conversion Guide og InterSystems IRIS Adoption Guide. Disse dokumentene er tilgjengelige på nettstedet til InterSystems globale støttesenter i delen "Dokumenter».

Klient språk

InterSystems IRIS Native API for Python

Lavnivå, rask tilgang fra Python til flerdimensjonale matriser som InterSystems IRIS lagrer data i. Mer informasjon — "Native API for Python».

InterSystems IRIS Native API для Node.js

Lavnivå, rask tilgang fra Node.js til flerdimensjonale matriser som InterSystems IRIS lagrer data i. Mer informasjon — "Native API for Node.js».

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

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

Toveis kommunikasjon i Java- og .NET-gatewayer

.NET- og Java-gatewayene er nå toveis. Det vil si at et program skrevet i .NET eller Java, som kalles fra IRIS via gatewayen, bruker den samme forbindelsen for å kommunisere med IRIS. Les mer — «Java Gateway Reentrancy».

Forbedringer i Native API for Java og .NET

IRIS Native API for Java og .NET støtter $LIST og passering av parametere ved referanse.

Ny utgave av Administrasjonsportalen

Denne utgivelsen inneholder de første endringene i Administrasjonsportalen. De gjelder foreløpig bare utseendet og påvirker ikke funksjonaliteten.

SQL

  • Universell cache for forespørsler. Fra og med 2020.1 vil alle forespørselene, inkludert innebygde forespørselene og klasseforespørselene, bli lagret som cached forespørsel. Tidligere krevde bruken av innebygde forespørsel omkompilering av programmet for å generere ny forespørselkode, for eksempel hvis en ny indeks ble lagt til eller statistikken i tabellen endret seg. Nå lagres alle forespørselplaner i en enkelt cache og tømmes uavhengig av programmet der forespørselen brukes.

  • Flere typer forespørsel kan nå prosesseres parallelt, inkludert DML-forespørslene.

  • Forespørslene til en shard-delt tabell kan nå bruke implicit join "->".

  • Forespørslene som startes fra Administrasjonsportalen kjører nå i bakgrunnsprosessen. Lange forespørsel vil ikke lenger feile på grunn av et webside-tidsavbrudd. Langvarige forespørsel kan nå avbrytes.

Integrasjonsmuligheter

Ny ramme for å lage produktenelementer i Java eller .NET

Denne utgivelsen inneholder et nytt rammeverk, PEX (Production EXtension), som gir økt valg av programmeringsspråk for implementeringen av produktelementene. I denne utgivelsen støtter PEX Java og .NET for utvikling av forretningsinnsatser, forretningsprosesser og forretningsoperasjoner, samt for innkommende og utgående adaptere. Tidligere kunne man bare lage forretningsinnsatser og forretningsoperasjoner, og man måtte bruke kodegeneratoren i Administrasjonsportalen. PEX-rammeverket gir mer fleksible verktøy for integrering av Java og .NET-kode i produktelementene, ofte uten behov for programmering i ObjectScript. PEX-pakken inkluderer følgende klasser:

Les mer — «PEX: Developing Productions with Java and .NET».

Overvåking av portbruk i produktene.

Port Authority-verktøyet overvåker portene som brukes av forretningstjenester og forretningsoperasjoner. Det kan hjelpe deg med å identifisere tilgjengelige porter og reservere dem. Les mer — «Håndtering av portbruk».

MQTT-adaptere

Denne utgivelsen inkluderer adaptere som støtter MQTT-protokollen (Message Queuing Telemetry Transport), som ofte brukes i applikasjoner for tingenes internett (Internet of Things – IoT). Les mer — «Bruke MQTT-adaptere i produksjon».

Sharding

Forenklet arkitektur

I denne utgivelsen er det en enklere og mer intuitiv måte å bygge klynger på — basert på individuelle servere (node-niveau), i stedet for områder som i tidligere versjoner. Det nye API-et er — %SYSTEM.Cluster. Den nye tilnærmingen er kompatibel med den gamle — klynge basert på områder (namespace-niveau) — og krever ingen endringer i eksisterende installasjoner. Les mer — «Elementer av sharding" og "Sharding-API-er».

Andre forbedringer innen sharding:

  • Nå kan du sharde (fordele over de samme shardene ofte koblede deler av to tabeller) enhver to tabeller. Tidligere kunne dette kun gjøres med tabeller som hadde en felles shard-nøkkel. Fra og med denne utgivelsen brukes syntaksen COSHARD WITH også for tabeller med system-ID. Les mer — «Opprett tabellene" og "Definere en sharded tabell».
  • Tidligere kunne en tabell merkes som klynget bare via DDL, nå kan dette også gjøres i klassens beskrivelse — det nye nøkkelordet Sharded. Les mer — «Definere en sharded tabell ved å opprette en vedvarende klasse».
  • Objektmodellen støtter nå sharding. Metodene %New(), %OpenId og %Save() fungerer med objekter av klassen der dataene er fordelt over flere shard. Vær oppmerksom på at koden kjøres på den serveren klienten er tilkoblet, ikke der objektet er lagret.
  • Algoritmen for utførelse av klyngeforespørsel er forbedret. Forespørselkøbehandleren (Unified Shard Queue Manager) setter forespørslene i kø for å bli utført av prosesspoolen, i stedet for å starte nye prosesser for hver forespørsel. Antall prosesser i poolen bestemmes automatisk basert på serverressursene og belastningen.

Infrastruktur og distribusjon i skyen.

Denne utgivelsen inneholder forbedringer i infrastruktur og distribusjon i skyen, inkludert:

  • Støtte for Tencent Cloud. InterSystems Cloud Manager (ICM) støtter nå oppretting av infrastruktur og distribusjon av applikasjoner basert på InterSystems IRIS i Tencent Cloud.
  • Støtte for navngitte volumer (named volumes) i Docker, i tillegg til montering av mapper (bind mount).
  • ICM støtter fleksibel skalering — konfigurasjoner kan nå skaleres, det vil si gjenskapes med færre eller flere noder. Les mer — «Reprovisioning the Infrastructure" og "Redeploying Services».
  • Forbedringer i oppretting av egen beholder.
  • ICM støtter en ny sharding-arkitektur.
  • Standardbrukeren i beholderne er nå ikke root.
  • ICM støtter opprettelse og distribusjon av private nettverk, der en bastionnode kobler det private nettverket til det offentlige nettverket og gir ekstra beskyttelse mot Denial-of-Service-angrep.
  • Støtte for tjenesteoppdagelse via sikker RPC.
  • ICM støtter distribusjon i flere regioner. Dette sikrer høy tilgjengelighet for systemet, selv om hele regionen slutter å fungere.
  • Mulighet for å oppdatere ICM og beholde informasjon om allerede distribuerte systemer.
  • Uten beholdermodus — ICM kan nå direkte, uten beholdere, distribuere klyngekonfigurasjoner på Google Cloud Platform, samt installere Web Gateway på Ubuntu eller SUSE.
  • Støtte for sammenslåing av iris.cpf fra to filer. Dette bidrar til at ICM kan kjøre InterSystems IRIS med forskjellige innstillinger avhengig av modus installasjonen fungerer i. Denne funksjonaliteten forenkler automatisering og støtte for ulike konfigurasjonsverktøy som Kubernetes.

Analyse

Valgfri ombygging av kuben

Fra denne utgivelsen støtter InterSystems IRIS Business Intelligence (tidligere kjent som DeepSee) valgfri bygging av kuben — bare én indikator eller dimensjon. Beskrivelsen av kuben kan endres, og kun det som har endret seg kan ombygges, samtidig som hele kuben forblir tilgjengelig under ombyggingen.

PowerBI-kobling

Microsoft PowerBI støtter nå arbeid med tabeller og kuber fra InterSystems IRIS. Koblingen leveres med PowerBI fra april 2019-utgivelsen. Les mer — «InterSystems IRIS Connector for Power BI».

Forhåndsvisning av spørringsresultater

Denne utgivelsen introduserer en ny forhåndsvisningsmodus ved oppretting av pivot-tabeller i Analyzer. Dette gjør det mulig å raskt vurdere nøyaktigheten av spørringen, uten å vente på de fullstendige resultatene.

Andre forbedringer

  • Traversering av globale med funksjonen $ORDER i motsatt rekkefølge (direction = -1) er nå like rask som i direkte rekkefølge.
  • Forbedret ytelse ved logging.
  • Støtte for Apache Spark 2.3, 2.4 er lagt til.
  • Støtte for WebSocket-klienten er lagt til. Klasse %Net.WebSocket.Client.
  • Versjonskontrollklassen håndterer nå hendelser ved endringer på produktsiden.
  • Hvitlistene for filtrering av tillatte forespørseler til CSP, ZEN og REST.
  • Støtte for .NET Core 2.1.
  • Forbedret ODBC-yteevne.
  • Strukturerte logger for enklere analyse av messages.log.
  • API for å sjekke feil og varsler. Klassen %SYSTEM.Monitor.GetAlerts().
  • Klasskompilatoren sjekker nå at navnet på globalen i lagringsbeskrivelsen ikke overstiger maksimal lengde (31 tegn) og returnerer en feil hvis det gjør det. Tidligere ble navnet på globalen uten varsel kuttet til 31 tegn.

Hvor finne

Hvis du har støtte — last ned distribusjonen fra delen Online-distribusjoner nettstedet wrc.intersystems.com

Hvis du bare ønsker å prøve InterSystems IRIS — https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Ennå enklere via Docker:

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

Webinar

7. april kl. 17:00 Moskva-tid vil det bli avholdt et webinar om den nye utgivelsen. Det ledes av Jeff Fried (Director, Product Management) og Joe Lichtenberg (Director of Product & Industry Marketing). Registrer deg! Webinaret vil være på engelsk.

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster