Wydanie InterSystems IRIS 2020.1

Wydanie InterSystems IRIS 2020.1

Pod koniec marca została wydana nowa wersja platformy danych InterSystems IRIS 2020.1. Nawet pandemia koronawirusa nie powstrzymała wydania.

W nowym wydaniu ważne punkty to zwiększenie wydajności rdzenia, generowanie aplikacji REST zgodnie ze specyfikacją OpenAPI 2.0, sharding dla obiektów, nowy typ Portalu Zarządzania, wsparcie MQTT, uniwersalny cache zapytań, nowy framework do tworzenia elementów produktu w Java lub .NET. Pełna lista zmian i lista kontrolna aktualizacji w języku angielskim znajduje się pod linkiem. Więcej szczegółów znajduje się poniżej.

InterSystems IRIS 2020.1 to wydanie z rozszerzonym wsparciem. InterSystems wydaje dwa rodzaje wydań InterSystems IRIS:

  • Wydań w trybie ciągłego wydania. Pojawia się trzy do czterech razy w roku w postaci obrazów Docker. Są przeznaczone do rozwijania aplikacji oraz wdrażania w chmurze lub kontenerach Docker.
  • Wydania z rozszerzonym wsparciem. Pojawiają się rzadziej, ale wydawane są dla nich aktualizacje. Wydawane na wszystkich platformach wspieranych przez InterSystems IRIS.

Między wydaniami z rozszerzonym wsparciem 2019.1 a 2020.1 wydawane były tylko wydania w obrazach Docker — 2019.2, 2019.3, 2019.4. Wszystkie nowe funkcje i poprawki z tych wydań weszły do 2020.1. Niektóre możliwości wymienione poniżej po raz pierwszy pojawiły się w jednym z wydań 2019.2, 2019.3, 2019.4.

Więc.

Rozwój aplikacji REST zgodnie ze specyfikacją

W dodatku do InterSystems API Manager, wspieranego od wersji 2019.1.1, w wydaniu 2020.1 pojawiła się możliwość generowania szkieletu kodu dla usługi REST zgodnie ze specyfikacją w formacie OpenAPI 2.0. Szczegóły można znaleźć w sekcji dokumentacji "Tworzenie usług REST».

Konwersja instalacji Caché lub Ensemble

To wydanie umożliwia podczas instalacji konwersję instalacji Caché lub Ensemble do InterSystems IRIS. Sama konwersja może wymagać zmian w kodzie programowym, ustawieniach lub innych skryptach, ale w większości przypadków będzie prosta.

Przed konwersją przeczytaj InterSystems IRIS In-Place Conversion Guide oraz InterSystems IRIS Adoption Guide. Te dokumenty są dostępne na stronie Światowego Centrum Wsparcia InterSystems w sekcji "Dokumenty».

Języki klienckie

InterSystems IRIS Native API dla Pythona

Niskopoziomowy, szybki dostęp z Pythona do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów — "Native API for Python».

InterSystems IRIS Native API для Node.js

Niskopoziomowy, szybki dostęp z Node.js do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów — "Native API for Node.js».

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

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

Dwukierunkowa komunikacja w bramkach Java i .NET

Połączenia .NET i bramki Java są teraz dwukierunkowe. Oznacza to, że program napisany w .NET lub Java, wywołany z IRIS przez bramkę, używa tego samego połączenia do komunikacji z IRIS. Więcej informacji — „Brakująca Reentrancy Gatunku Java».

Ulepszenia w Native API dla Java i .NET

IRIS Native API dla Java i .NET obsługuje listy $LIST oraz przekazywanie parametrów przez referencję.

Nowy wygląd Portalu Zarządzania

W tej wersji wprowadzono pierwsze zmiany w Portalu Zarządzania. Na razie dotyczą one tylko wyglądu i nie wpływają na funkcjonalność.

SQL

  • Uniwersalny cache zapytań. Od wersji 2020.1 wszystkie zapytania, w tym zapytania wbudowane i zapytania klasowe, będą przechowywane jako zapytania cache'owane. Wcześniej korzystanie z wbudowanych zapytań wymagało ponownej kompilacji programu w celu wygenerowania nowego kodu zapytania, na przykład gdy pojawiał się nowy indeks lub zmieniały się statystyki tabeli. Teraz wszystkie plany zapytań są przechowywane w jednym cache'u i czyszczone niezależnie od programu, w którym zapytanie jest używane.

  • Większa liczba typów zapytań jest teraz równolegle przetwarzana, w tym zapytania DML.

  • Zapytania do tabeli podzielonej na shard'y mogą teraz używać niejawnego połączenia "->".

  • Zapytania uruchamiane z Portalu Zarządzania są teraz wykonywane w tle. Długie zapytania nie będą już kończyć się z powodu limitu czasowego strony internetowej. Rozciągnięte zapytania można teraz anulować.

Możliwości integracyjne

Nowy framework do tworzenia elementów produktu w Java lub .NET

W tej wersji wprowadzono nowy framework PEX (Production EXtension), który daje dodatkowy wybór języka implementacji komponentów produktu. W tej wersji PEX obsługuje Java i .NET do opracowywania usług biznesowych, procesów biznesowych i operacji biznesowych, a także dla adapterów przychodzących i wychodzących. Wcześniej można było tworzyć tylko usługi biznesowe i operacje biznesowe i konieczne było wywołanie generatora kodu w Portalu Zarządzania. Framework PEX zapewnia bardziej elastyczne narzędzia do włączania kodu w Java i .NET w komponenty produktu, często bez programowania w ObjectScript. Pakiet PEX obejmuje następujące klasy:

Więcej informacji — „PEX: Tworzenie produkcji z użyciem Java i .NET».

Monitoring użycia portów w produktach.

Narzędzie Port Authority monitoruje porty wykorzystywane przez usługi biznesowe i operacje. Umożliwia określenie dostępnych portów oraz ich rezerwację. Więcej informacji — "Zarządzanie Użyciem Portów».

Adaptery dla MQTT

Ta wersja obejmuje adaptery wspierające protokół MQTT (Message Queuing Telemetry Transport), który jest często używany w aplikacjach Internetu Rzeczy (Internet of Things — IoT). Więcej informacji — "Zastosowanie Adapterów MQTT w Produkcji».

Shardowanie

Uproszczona architektura

W tej wersji wprowadzono prostszy i bardziej zrozumiały sposób tworzenia klastra — oparty na odrębnych serwerach (poziom węzła), a nie obszarach, jak w poprzednich wersjach. Nowe API — %SYSTEM.Cluster. Nowe podejście jest zgodne ze starym — klaster oparty na obszarach (poziom namespace) — i nie wymaga zmian w istniejących instalacjach. Więcej informacji — "Elementy Shardowania” i „API Shardowania».

Inne ulepszenia w shardowaniu:

  • Teraz można koszardować (wykonywać shardowanie dla często połączonych części dwóch tabel) dowolne dwie tabele. Wcześniej można było to robić tylko dla tabel posiadających wspólny klucz shardowy. Od tej wersji składnia COSHARD WITH jest również stosowana dla tabel z systemowym Id. Więcej informacji — "Utwórz Tabele” i „Definiowanie Tabeli Shardowanej».
  • Wcześniej oznaczenie tabeli jako klastrowej mogło być wykonane tylko przez DDL, teraz można to zrobić także w opisie klasy — nowe słowo kluczowe Sharded. Więcej informacji — "Definiowanie Tabeli Shardowanej przez Tworzenie Klasy Permanetnej».
  • Model obiektowy teraz wspiera shardowanie. Metody %New(), %OpenId i %Save() działają z obiektami klasy, których dane są rozdzielone pomiędzy kilka shardów. Należy pamiętać, że kod wykonuje się na tym serwerze, z którym połączony jest klient, a nie na tym, na którym przechowywany jest obiekt.
  • Udoskonalono algorytm wykonywania zapytań klastrowych. Menedżer kolejki zapytań (Unified Shard Queue Manager) umieszcza zapytania w kolejce do realizacji przez pulę procesów, zamiast uruchamiać nowe procesy dla każdego zapytania. Liczba procesów w puli jest automatycznie określana na podstawie zasobów serwera i obciążenia.

Infrastruktura i wdrażanie w chmurze.

W tej wersji wprowadzono ulepszenia w infrastrukturze i wdrażaniu w chmurze, w tym:

  • Wsparcie dla Tencent Cloud. InterSystems Cloud Manager (ICM) teraz wspiera tworzenie infrastruktury i wdrażanie aplikacji opartych na InterSystems IRIS w Tencent Cloud.
  • Wsparcie dla nazwanych wolumenów (named volumes) w Dockerze, oprócz montowania folderów (bind mount).
  • ICM wspiera elastyczne skalowanie — konfiguracje mogą teraz być skalowane, to znaczy ponownie tworzone z większą lub mniejszą liczbą węzłów. Więcej informacji — «Reprovisionowanie infrastruktury” i „Redeployment usług».
  • Udoskonalenia w tworzeniu własnych kontenerów.
  • ICM wspiera nową architekturę shardingu.
  • Domyślny użytkownik w kontenerach nie jest już rootem.
  • ICM wspiera tworzenie i wdrażanie sieci prywatnych, w których węzeł bastionowy łączy sieć prywatną z publiczną, zapewniając dodatkową ochronę przed atakami typu Denial-of-Service.
  • Wsparcie dla wykrywania usług przez zabezpieczony RPC.
  • ICM wspiera wdrażanie w wielu regionach. Zapewnia to wysoką dostępność systemu, nawet jeśli cały region przestanie działać.
  • Możliwość aktualizacji ICM i zachowania informacji o już wdrożonych systemach.
  • Tryb bezkontenerowy — ICM może teraz bezpośrednio, bez kontenerów, wdrażać konfiguracje klastrowe na Google Cloud Platform, a także instalować Web Gateway na Ubuntu lub SUSE.
  • Wsparcie dla scalania iris.cpf z dwóch plików. Pomaga to ICM uruchamiać InterSystems IRIS z różnymi ustawieniami w zależności od trybu, w którym działa instalacja. Ta funkcja upraszcza automatyzację i wsparcie różnych narzędzi do zarządzania konfiguracjami, takich jak Kubernetes.

Analityka

Selektywna przebudowa kostki

Począwszy od tej wersji, InterSystems IRIS Business Intelligence (znane wcześniej jako DeepSee) wspiera selektywne budowanie kostki — tylko jednego wskaźnika lub wymiaru. Można zmienić opis kostki i przebudować tylko to, co się zmieniło, zachowując dostępność całej kostki w trakcie przebudowy.

Konektor PowerBI

Microsoft PowerBI teraz wspiera pracę z tabelami i kostkami InterSystems IRIS. Konektor jest dostarczany z PowerBI, począwszy od wersji kwietnia 2019 roku. Więcej informacji — «InterSystems IRIS Connector for Power BI».

Podgląd wyników zapytania

W tej wersji wprowadzono nowy tryb podglądu podczas tworzenia tabel przestawnych w Analyzer. Dzięki temu można szybko ocenić poprawność zapytania, nie czekając na pełne wyniki.

Inne ulepszenia

  • Przechodzenie po globalnej funkcji $ORDER w odwrotnej kolejności (direction = -1) jest teraz tak samo szybkie, jak w bezpośredniej.
  • Udoskonalono wydajność logowania.
  • Dodano wsparcie dla Apache Spark 2.3, 2.4.
  • Dodano wsparcie dla klienta WebSocket. Klasa %Net.WebSocket.Client.
  • Klasa kontroli wersji teraz obsługuje zdarzenia przy zmianach na stronie produktu.
  • Białe listy do filtrowania dozwolonych żądań do CSP, ZEN i REST.
  • Wsparcie dla .NET Core 2.1.
  • Poprawiona wydajność ODBC.
  • Strukturalny log ułatwiający analizę messages.log.
  • API do sprawdzania błędów i ostrzeżeń. Klasa %SYSTEM.Monitor.GetAlerts().
  • Kompilator klas teraz sprawdza, czy nazwa globalna w opisie przechowywania nie przekracza maksymalnej długości (31 znak) i zwraca błąd, jeśli tak jest. Wcześniej nazwa globalna była bez ostrzeżenia obcinana do 31 znaków.

Gdzie znaleźć

Jeśli masz wsparcie — pobierz dystrybucję z sekcji Dystrybucje online strony wrc.intersystems.com

Jeśli chcesz tylko przetestować InterSystems IRIS — https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Jeszcze prościej przez Docker:

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

Webinar

7 kwietnia o 17:00 czasu moskiewskiego odbędzie się webinar poświęcony nowemu wydaniu. Poprowadzą go Jeff Fried (dyrektor ds. zarządzania produktem) oraz Joe Lichtenberg (dyrektor ds. marketingu produktu i branży). Zarejestruj się! Webinar będzie w języku angielskim.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster