
På slutten av mars 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å . 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 , 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 "».
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 "».
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 — "».
InterSystems IRIS Native API для Node.js
Lavnivå, rask tilgang fra Node.js til flerdimensjonale matriser som InterSystems IRIS lagrer data i. Mer informasjon — "».
Реляционный доступ для 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 — «».
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 — «».
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 — «».
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 — «».
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 — . 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 — «" og "».
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 — «" og "».
- 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 — «».
- 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 — «" og "».
- 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 — «».
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 nettstedet wrc.intersystems.com
Hvis du bare ønsker å prøve InterSystems IRIS —
Ennå enklere via Docker:
docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0Webinar
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). Webinaret vil være på engelsk.
Kilde: habr.com
