Veröffentlichung von InterSystems IRIS 2020.1

Veröffentlichung von InterSystems IRIS 2020.1

Ende März kam heraus neue Version der InterSystems IRIS 2020.1 Datenplattform. Selbst die Coronavirus-Pandemie konnte die Veröffentlichung nicht verhindern.

Zu den wichtigen Dingen in der neuen Version gehören eine erhöhte Kernel-Leistung, die Generierung einer REST-Anwendung gemäß der OpenAPI 2.0-Spezifikation, Sharding für Objekte, ein neuer Typ von Management Portal, MQTT-Unterstützung, ein universeller Abfrage-Cache und ein neues Framework für die Produkterstellung Elemente in Java oder .NET. Die vollständige Liste der Änderungen und die Upgrade-Checkliste in englischer Sprache finden Sie unter Link. Weitere Details - unter dem Schnitt.

InterSystems IRIS 2020.1 ist eine erweiterte Support-Version. InterSystems produziert zwei Arten von InterSystems IRIS-Releases:

  • Kontinuierliche Lieferfreigaben. Sie werden drei- bis viermal im Jahr in Form von Docker-Images veröffentlicht. Konzipiert für die Anwendungsentwicklung und Bereitstellung in der Cloud oder in Docker-Containern.
  • Veröffentlichungen mit erweitertem Support. Sie erscheinen seltener, es werden jedoch Releases mit Fixes für sie herausgegeben. Verfügbar auf allen von InterSystems IRIS unterstützten Plattformen.

Zwischen den erweiterten Support-Releases 2019.1 und 2020.1 wurden Releases nur in Docker-Images veröffentlicht – 2019.2, 2019.3, 2019.4. Alle neuen Funktionen und Korrekturen aus diesen Versionen sind in 2020.1 enthalten. Einige der unten aufgeführten Funktionen erschienen erstmals in einer Version 2019.2, 2019.3, 2019.4.

So.

Entwicklung von REST-Anwendungen gemäß der Spezifikation

Zusätzlich zu InterSystems API Manager, unterstützt seit Version 2019.1.1, wurde es im Release 2020.1 möglich, den Kerncode für einen REST-Dienst gemäß der Spezifikation im OpenAPI 2.0-Format zu generieren. Weitere Einzelheiten finden Sie im Dokumentationsabschnitt „Erstellen von REST-Diensten".

Konvertieren einer Caché- oder Ensemble-Installation

Mit dieser Version können Sie Ihre Caché- oder Ensemble-Installation während der Installation in InterSystems IRIS konvertieren. Die Konvertierung selbst erfordert möglicherweise Änderungen im Programmcode, in den Einstellungen oder anderen Skripten, ist aber in den meisten Fällen einfach.

Lesen Sie vor der Konvertierung den InterSystems IRIS In-Place Conversion Guide und den InterSystems IRIS Adoption Guide. Diese Dokumente finden Sie auf der Website des InterSystems Worldwide Support Center unter „Unterlagen".

Clientsprachen

InterSystems IRIS Native API für Python

Low-Level-Schnellzugriff von Python auf mehrdimensionale Arrays, in denen InterSystems IRIS Daten speichert. Mehr Details - "Native API für Python".

InterSystems IRIS Native API für Node.js

Schneller Low-Level-Zugriff von Node.js auf mehrdimensionale Arrays, in denen InterSystems IRIS Daten speichert. Mehr Details - "Native API für Node.js".

Relationaler Zugriff für Node.js

Unterstützung für ODBC-Zugriff auf InterSystems IRIS für Node.js-Entwickler

Zwei-Wege-Kommunikation in Java- und .NET-Gateways

.NET- und Java-Gateway-Verbindungen sind jetzt bidirektional. Das heißt, ein .NET- oder Java-Programm, das von IRIS über das Gateway aufgerufen wird, verwendet dieselbe Verbindung, um auf IRIS zuzugreifen. Mehr Details - "Java-Gateway-Wiedereintritt".

Verbesserungen der nativen API für Java und .NET

Die IRIS Native API für Java und .NET unterstützt $LISTs und die Übergabe von Parametern per Referenz.

Neuer Look des Management Portals

Diese Version enthält die ersten Änderungen am Management Portal. Sie betreffen vorerst nur das Aussehen und haben keinen Einfluss auf die Funktionalität.

SQL

  • Universeller Abfrage-Cache. Ab 2020.1 werden alle Abfragen, einschließlich integrierter Abfragen und Klassenabfragen, als zwischengespeicherte Abfragen gespeichert. Bisher war bei der Verwendung integrierter Abfragen eine Neukompilierung des Programms erforderlich, um neuen Abfragecode zu generieren, beispielsweise wenn ein neuer Index angezeigt oder Tabellenstatistiken geändert wurden. Jetzt werden alle Abfragepläne im selben Cache gespeichert und gelöscht, unabhängig davon, in welchem ​​Programm die Abfrage verwendet wird.

  • Weitere Abfragetypen sind jetzt parallelisierbar, einschließlich DML-Abfragen.

  • Abfragen für eine Shard-Tabelle können jetzt den impliziten Join „->“ verwenden.

  • Vom Management Portal gestartete Anfragen werden nun in einem Hintergrundprozess ausgeführt. Lange Anfragen schlagen nicht mehr aufgrund einer Webseiten-Zeitüberschreitung fehl. Buchungsanfragen können jetzt storniert werden.

Integrationsmöglichkeiten

Neues Framework zum Erstellen von Produktelementen in Java oder .NET

Diese Version enthält ein neues PEX-Framework (Production EXtension), das eine zusätzliche Sprachauswahl für die Implementierung von Produktkomponenten bietet. Mit dieser Version unterstützt PEX Java und .NET für die Entwicklung von Geschäftsdiensten, Geschäftsprozessen und Geschäftsabläufen sowie für eingehende und ausgehende Adapter. Bisher konnten Sie nur Business Services und Geschäftstransaktionen erstellen und mussten dazu den Codegenerator im Management Portal aufrufen. Das PEX-Framework bietet eine flexiblere Möglichkeit, Java- und .NET-Code in Produktkomponenten zu integrieren, oft ohne ObjectScript-Programmierung. Das PEX-Paket umfasst die folgenden Klassen:

Mehr Details - "PEX: Produktionen mit Java und .NET entwickeln".

Überwachung der Portnutzung in Produkten.

Das Dienstprogramm Port Authority überwacht die von Unternehmensdiensten und Geschäftsabläufen genutzten Ports. Mit seiner Hilfe können Sie verfügbare Ports ermitteln und reservieren. Mehr Details - "Verwalten der Portnutzung".

Adapter für MQTT

Diese Version enthält Adapter, die das MQTT-Protokoll (Message Queuing Telemetry Transport) unterstützen, das häufig in IoT-Anwendungen (Internet of Things) verwendet wird. Mehr Details - "Verwendung von MQTT-Adaptern in Produktionen".

Sharding

Vereinfachte Architektur

Mit dieser Version wurde eine einfachere und verständlichere Methode zum Erstellen eines Clusters eingeführt – basierend auf einzelnen Servern (Knotenebene) und nicht auf Bereichen, wie in früheren Versionen. Neue API – %SYSTEM.Cluster. Der neue Ansatz ist mit dem alten – einem Cluster basierend auf Bereichen (Namespace-Ebene) – kompatibel und erfordert keine Änderungen an bestehenden Installationen. Mehr Details - "Elemente des Shardings"Und"Sharding-APIs".

Weitere Sharding-Verbesserungen:

  • Jetzt können Sie zwei beliebige Tabellen cosharden (häufig verbundene Teile zweier Tabellen auf dieselben Shards verteilen). Bisher war dies nur mit Tabellen möglich, die einen gemeinsamen Shard-Schlüssel hatten. Ab dieser Version wird die COSHARD WITH-Syntax auch für Tabellen mit einer System-ID verwendet. Mehr Details - "Erstellen Sie die Tabellen"Und"Definieren einer Shard-Tabelle".
  • Bisher war es nur über DDL möglich, eine Tabelle als Cluster-Tabelle zu markieren, jetzt ist dies jedoch auch in der Klassenbeschreibung möglich – dem neuen Schlüsselwort Sharded. Mehr Details - "Definieren einer Shard-Tabelle durch Erstellen einer persistenten Klasse".
  • Das Objektmodell unterstützt jetzt Sharding. Die Methoden %New(), %OpenId und %Save() arbeiten mit Objekten einer Klasse, deren Daten auf mehrere Shards verteilt sind. Beachten Sie, dass der Code auf dem Server ausgeführt wird, mit dem der Client verbunden ist, und nicht auf dem Server, auf dem das Objekt gespeichert ist.
  • Der Algorithmus zur Ausführung von Clusterabfragen wurde verbessert. Der Unified Shard Queue Manager stellt Anforderungen zur Ausführung in die Warteschlange eines Prozesspools, anstatt für jede Anforderung neue Prozesse zu starten. Die Anzahl der Prozesse im Pool wird automatisch basierend auf den Serverressourcen und der Auslastung bestimmt.

Infrastruktur und Bereitstellung in der Cloud.

Diese Version enthält Verbesserungen an Infrastruktur und Cloud-Bereitstellungen, darunter:

  • Tencent Cloud-Unterstützung. InterSystems Cloud Manager (ICM) unterstützt jetzt die Infrastrukturerstellung und Anwendungsbereitstellung basierend auf InterSystems IRIS auf Tencent Cloud.
  • Unterstützung für benannte Volumes in Docker, zusätzlich zu Bind-Mounts.
  • ICM unterstützt eine flexible Skalierung – Konfigurationen können nun skaliert, also mit mehr oder weniger Knoten neu erstellt werden. Mehr Details - "Neubereitstellung der Infrastruktur"Und"Dienste erneut bereitstellen".
  • Verbesserungen beim Erstellen Ihres eigenen Containers.
  • ICM unterstützt die neue Sharding-Architektur.
  • Der Standardbenutzer in Containern ist nicht mehr root.
  • ICM unterstützt die Erstellung und Bereitstellung privater Netzwerke, bei denen ein Bastion Node das private Netzwerk mit dem öffentlichen Netzwerk verbindet und zusätzlichen Schutz vor Denial-of-Service-Angriffen bietet.
  • Unterstützung für Serviceerkennung über sicheres RPC.
  • ICM unterstützt die Bereitstellung in mehreren Regionen. Dies gewährleistet eine hohe Systemverfügbarkeit, selbst wenn die gesamte Region ausfällt.
  • Möglichkeit, ICM zu aktualisieren und Informationen über bereits bereitgestellte Systeme zu speichern.
  • Containerloser Modus – ICM kann jetzt direkt, ohne Container, Clusterkonfigurationen auf der Google Cloud Platform bereitstellen sowie Web Gateway unter Ubuntu oder SUSE installieren.
  • Unterstützung für das Zusammenführen von iris.cpf aus zwei Dateien. Dies hilft ICM, InterSystems IRIS mit unterschiedlichen Einstellungen zu starten, je nachdem, in welchem ​​Modus die Installation ausgeführt wird. Diese Funktion erleichtert die Automatisierung und Unterstützung verschiedener Konfigurationsmanagement-Tools wie Kubernetes.

Analytics

Bauen Sie den Würfel gezielt neu auf

Ab dieser Version unterstützt InterSystems IRIS Business Intelligence (früher bekannt als DeepSee) die selektive Cube-Erstellung – nur eine Kennzahl oder Dimension. Sie können die Cube-Beschreibung ändern und nur das neu erstellen, was sich geändert hat, sodass der gesamte Cube während der Neuerstellung verfügbar bleibt.

PowerBI-Anschluss

Microsoft PowerBI unterstützt jetzt die Arbeit mit InterSystems IRIS-Tabellen und -Cubes. Der Connector wird ab der Version vom April 2019 mit PowerBI ausgeliefert. Mehr Details - "InterSystems IRIS Connector für Power BI".

Vorschau der Abfrageergebnisse anzeigen

Mit dieser Version wird ein neuer Vorschaumodus beim Erstellen von Pivot-Tabellen im Analyzer eingeführt. Auf diese Weise können Sie die Richtigkeit einer Abfrage schnell beurteilen, ohne auf die vollständigen Ergebnisse warten zu müssen.

ругие улучшения

  • Das Durchlaufen eines globalen Objekts mit der Funktion $ORDER in umgekehrter Reihenfolge (Richtung = -1) ist jetzt genauso schnell wie in Vorwärtsreihenfolge.
  • Verbesserte Protokollierungsleistung.
  • Unterstützung für Apache Spark 2.3, 2.4 hinzugefügt.
  • Unterstützung für WebSocket-Client hinzugefügt. Klasse %Net.WebSocket.Client.
  • Die Versionskontrollklasse verarbeitet jetzt Ereignisse bei Änderungen an der Produktseite.
  • Whitelists zum Filtern gültiger Anfragen an CSP, ZEN und REST.
  • .NET Core 2.1-Unterstützung.
  • Verbesserte ODBC-Leistung.
  • Strukturiertes Protokoll zur Erleichterung der Analyse von „messages.log“.
  • API zur Fehlerprüfung und Warnungen. Klasse %SYSTEM.Monitor.GetAlerts().
  • Der Klassencompiler prüft nun, ob der globale Name in der Speicherdeklaration die maximale Länge (31 Zeichen) nicht überschreitet und gibt andernfalls einen Fehler zurück. Zuvor wurde der globale Name ohne Warnung auf 31 Zeichen gekürzt.

Wo bekomme ich

Wenn Sie Unterstützung haben, laden Sie die Distribution aus dem Abschnitt herunter Online-Verteilungen Website wrc.intersystems.com

Wenn Sie einfach nur InterSystems IRIS ausprobieren möchten – https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Noch einfacher über Docker:

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

Webinar

Am 7. April um 17:00 Uhr Moskauer Zeit findet ein Webinar statt, das der neuen Version gewidmet ist. Gastgeber sind Jeff Fried (Direktor Produktmanagement) und Joe Lichtenberg (Direktor Produkt- und Branchenmarketing). Registrieren! Das Webinar wird auf Englisch stattfinden.

Source: habr.com

Kommentar hinzufügen