Wydanie InterSystems IRIS 2020.1

Wydanie InterSystems IRIS 2020.1

Pod koniec marca wysiadłem nowa wersja platformy danych InterSystems IRIS 2020.1. Wydaniu nie przeszkodziła nawet pandemia wirusa.

Wśród ważnych rzeczy w nowej wersji należy wymienić zwiększoną wydajność jądra, generowanie aplikacji REST zgodnie ze specyfikacją OpenAPI 2.0, sharding dla obiektów, nowy typ Management Portal, obsługę MQTT, uniwersalną pamięć podręczną zapytań, nowy framework do tworzenia produktu elementy w Javie lub .NET. Pełną listę zmian i listę kontrolną aktualizacji w języku angielskim można znaleźć pod adresem powiązanie. Więcej szczegółów - pod rozcięciem.

InterSystems IRIS 2020.1 to wersja z rozszerzonym wsparciem. InterSystems produkuje dwa typy wydań InterSystems IRIS:

  • Wydania ciągłej dostawy. Są wydawane trzy do czterech razy w roku w postaci obrazów Dockera. Zaprojektowany do tworzenia i wdrażania aplikacji w chmurze lub kontenerach Docker.
  • Wersje z rozszerzonym wsparciem. Wychodzą rzadziej, ale wydawane są dla nich wydania z poprawkami. Dostępne na wszystkich platformach obsługiwanych przez InterSystems IRIS.

Pomiędzy wersjami rozszerzonego wsparcia 2019.1 i 2020.1 wydania były wydawane tylko w obrazach platformy Docker — 2019.2, 2019.3, 2019.4. Wszystkie nowe funkcje i poprawki z tych wydań są uwzględnione w wersji 2020.1. Niektóre z funkcji wymienionych poniżej pojawiły się po raz pierwszy w jednym wydaniu 2019.2, 2019.3, 2019.4.

Tak więc.

Tworzenie aplikacji REST zgodnie ze specyfikacją

Oprócz Menedżer API InterSystems, wspierany od wersji 2019.1.1, w wersji 2020.1 stało się możliwe wygenerowanie kodu rdzenia usługi REST zgodnie ze specyfikacją w formacie OpenAPI 2.0. Aby uzyskać więcej informacji, zobacz sekcję dokumentacji „Tworzenie usług REST".

Konwersja instalacji Cache lub Ensemble

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

Przed konwersją przeczytaj Przewodnik dotyczący konwersji na miejscu InterSystems IRIS i Przewodnik wdrażania InterSystems IRIS. Dokumenty te znajdują się na stronie internetowej Centrum Wsparcia Światowego InterSystems w zakładce „dokumenty".

Języki klienta

Natywny interfejs API InterSystems IRIS dla języka Python

Niskopoziomowy, szybki dostęp z Pythona do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów - "Natywne API dla Pythona".

Natywny interfejs API InterSystems IRIS dla Node.js

Niskopoziomowy szybki dostęp z Node.js do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów - "Natywne API dla Node.js".

Dostęp relacyjny dla Node.js

Obsługa dostępu ODBC do InterSystems IRIS dla programistów Node.js

Dwukierunkowa komunikacja w bramkach Java i .NET

Połączenia z bramami .NET i Java są teraz dwukierunkowe. Oznacza to, że program .NET lub Java wywoływany z IRIS przez bramę korzysta z tego samego połączenia, aby uzyskać dostęp do IRIS. Więcej szczegółów - "Ponowne wejście do bramy Java".

Ulepszenia natywnego API dla Java i .NET

Natywny interfejs API IRIS dla języka Java i .NET obsługuje listy $LIST i przekazywanie parametrów przez referencje.

Nowy wygląd Portalu Zarządzania

To wydanie zawiera pierwsze zmiany w Portalu Zarządzania. Na razie dotyczą one jedynie wyglądu i nie wpływają na funkcjonalność.

SQL

  • Uniwersalna pamięć podręczna zapytań. Począwszy od wersji 2020.1 wszystkie zapytania, w tym zapytania wbudowane i zapytania klasowe, będą przechowywane jako zapytania w pamięci podręcznej. Wcześniej korzystanie z wbudowanych zapytań wymagało ponownej kompilacji programu w celu wygenerowania nowego kodu zapytania, np. w przypadku pojawienia się nowego indeksu lub zmiany statystyk tabeli. Teraz wszystkie plany zapytań są przechowywane w tej samej pamięci podręcznej i czyszczone niezależnie od programu, w którym używane jest zapytanie.

  • Możliwość równoległego przetwarzania większej liczby typów zapytań, w tym zapytań DML.

  • Zapytania dotyczące tabeli podzielonej na fragmenty mogą teraz używać niejawnego łączenia „->”.

  • Żądania uruchamiane z Portalu Zarządzania są teraz wykonywane w procesie w tle. Długie żądania nie będą już kończyć się niepowodzeniem z powodu przekroczenia limitu czasu strony internetowej. Żądania leasingu można teraz anulować.

Możliwości integracji

Nowy framework do tworzenia elementów produktów w języku Java lub .NET

To wydanie zawiera nową platformę PEX (Production EXtension), która zapewnia dodatkowy wybór języka do implementacji komponentów produktu. W tej wersji PEX obsługuje języki Java i .NET do tworzenia usług biznesowych, procesów biznesowych i operacji biznesowych, a także adapterów przychodzących i wychodzących. Wcześniej można było tworzyć jedynie usługi biznesowe i transakcje biznesowe i trzeba było wywołać generator kodu w Portalu Zarządzania. Struktura PEX zapewnia bardziej elastyczne sposoby włączania kodu Java i .NET do komponentów produktu, często bez programowania ObjectScript. Pakiet PEX zawiera następujące zajęcia:

Więcej szczegółów - "PEX: Tworzenie produkcji w języku Java i .NET".

Monitorowanie wykorzystania portów w produktach.

Narzędzie Port Authority monitoruje porty używane przez usługi biznesowe i operacje biznesowe. Za jego pomocą możesz określić dostępne porty i je zarezerwować. Więcej szczegółów - "Zarządzanie wykorzystaniem portu".

Adaptery do MQTT

Ta wersja zawiera adaptery obsługujące protokół MQTT (Message Queuing Telemetry Transport), który jest często używany w aplikacjach Internetu rzeczy (IoT). Więcej szczegółów - "Używanie adapterów MQTT w produkcjach".

Fragmentowanie

Uproszczona architektura

W tej wersji wprowadzono prostszy i bardziej zrozumiały sposób tworzenia klastra - w oparciu o pojedyncze serwery (na poziomie węzła), a nie obszary, jak w poprzednich wersjach. Nowe API - %SYSTEM.Klaster. Nowe podejście jest kompatybilne ze starym – klastrem opartym na obszarach (poziom przestrzeni nazw) – i nie wymaga zmian w istniejących instalacjach. Więcej szczegółów - "Elementy Shardingu"A"Interfejsy API fragmentowania".

Inne ulepszenia fragmentowania:

  • Teraz możesz coshardować (rozdzielać często połączone części dwóch tabel w te same fragmenty) dowolne dwie tabele. Wcześniej można było to zrobić tylko w przypadku tabel mających wspólny klucz fragmentu. Począwszy od tej wersji składnia COSHARD WITH jest również używana w przypadku tabel z identyfikatorem systemowym. Więcej szczegółów - "Utwórz tabele"A"Definiowanie tabeli podzielonej na fragmenty".
  • Wcześniej możliwe było oznaczenie tabeli jako tabeli klastrowej tylko poprzez DDL, ale teraz można to zrobić również w opisie klasy - nowe słowo kluczowe Sharded. Więcej szczegółów - "Definiowanie tabeli podzielonej na fragmenty poprzez utworzenie klasy trwałej".
  • Model obiektowy obsługuje teraz fragmentowanie. Metody %New(), %OpenId i %Save() działają z obiektami klasy, której dane są rozproszone w kilku fragmentach. Należy pamiętać, że kod działa na serwerze, z którym połączony jest klient, a nie na serwerze, na którym przechowywany jest obiekt.
  • Udoskonalono algorytm wykonywania zapytań klastrowych. Unified Shard Queue Manager kolejkuje żądania do wykonania w puli procesów, zamiast uruchamiać nowe procesy dla każdego żądania. Liczba procesów w puli jest ustalana automatycznie na podstawie zasobów i obciążenia serwera.

Infrastruktura i wdrożenie w chmurze.

To wydanie zawiera ulepszenia w zakresie wdrożeń infrastruktury i chmury, w tym:

  • Wsparcie dla Tencent Cloud. InterSystems Cloud Manager (ICM) obsługuje teraz tworzenie infrastruktury i wdrażanie aplikacji w oparciu o InterSystems IRIS w chmurze Tencent.
  • Obsługa nazwanych woluminów w Dockerze, oprócz montowania powiązań.
  • ICM obsługuje elastyczne skalowanie - konfiguracje można teraz skalować, czyli odtwarzać z większą lub mniejszą liczbą węzłów. Więcej szczegółów - "Ponowne udostępnianie infrastruktury"A"Ponowne wdrażanie usług".
  • Ulepszenia w tworzeniu własnego kontenera.
  • ICM obsługuje nową architekturę shardingu.
  • Domyślnym użytkownikiem w kontenerach nie jest już root.
  • ICM wspiera tworzenie i wdrażanie sieci prywatnych, w których węzeł bastionowy łączy sieć prywatną z siecią publiczną i zapewnia dodatkową ochronę przed atakami typu „odmowa usługi”.
  • Obsługa wykrywania usług za pośrednictwem bezpiecznego RPC.
  • ICM obsługuje wdrażanie w wielu regionach. Zapewnia to wysoką dostępność systemu nawet w przypadku awarii całego regionu.
  • Możliwość aktualizacji ICM i zapisywania informacji o już wdrożonych systemach.
  • Tryb bezkontenerowy — ICM może teraz bezpośrednio, bez kontenerów, wdrażać konfiguracje klastrów na Google Cloud Platform, a także instalować Web Gateway na Ubuntu lub SUSE.
  • Obsługa łączenia iris.cpf z dwóch plików. Pomaga to ICM uruchomić InterSystems IRIS z różnymi ustawieniami w zależności od trybu, w którym działa instalacja. Ta funkcja ułatwia automatyzację i obsługę różnych narzędzi do zarządzania konfiguracją, takich jak Kubernetes.

Analityka

Selektywnie odbuduj kostkę

Począwszy od tej wersji, InterSystems IRIS Business Intelligence (wcześniej znany jako DeepSee) obsługuje selektywne budowanie kostek — tylko jedną miarę lub wymiar. Można zmienić opis kostki i odbudować tylko to, co się zmieniło, zachowując dostępność całej kostki podczas przebudowy.

Złącze PowerBI

Microsoft PowerBI obsługuje teraz pracę z tabelami i kostkami InterSystems IRIS. Złącze jest dostarczane z usługą PowerBI począwszy od wersji z kwietnia 2019 r. Więcej szczegółów - "Złącze InterSystems IRIS dla usługi Power BI".

Podgląd wyników zapytania

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

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

  • Przemierzanie globala przy użyciu funkcji $ORDER w odwrotnej kolejności (kierunek = -1) jest teraz tak szybkie, jak w kolejności do przodu.
  • Poprawiona wydajność rejestrowania.
  • Dodano obsługę Apache Spark 2.3, 2.4.
  • Dodano obsługę klienta WebSocket. Klasa %Net.WebSocket.Client.
  • Klasa kontroli wersji obsługuje teraz zdarzenia związane ze zmianami na stronie produktu.
  • Białe listy do filtrowania prawidłowych żądań do CSP, ZEN i REST.
  • Obsługa platformy .NET Core 2.1.
  • Poprawiona wydajność ODBC.
  • Ustrukturyzowany dziennik ułatwiający analizę Messages.log.
  • API do sprawdzania błędów i ostrzeżeń. Klasa %SYSTEM.Monitor.GetAlerts().
  • Kompilator klas sprawdza teraz, czy nazwa globalna w deklaracji przechowywania nie przekracza maksymalnej długości (31 znaków) i zwraca błąd, jeśli tak nie jest. Wcześniej nazwa globalna była obcinana bez ostrzeżenia do 31 znaków.

Gdzie dostać

Jeśli masz wsparcie, pobierz dystrybucję z sekcji Dystrybucje internetowe stronie internetowej wrc.intersystems.com

Jeśli chcesz po prostu wypróbować InterSystems IRIS - https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Jeszcze łatwiej dzięki Dockerowi:

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 godzinie 17:00 czasu moskiewskiego odbędzie się webinar poświęcony nowemu wydaniu. Gospodarzami będą Jeff Fried (dyrektor ds. zarządzania produktem) i Joe Lichtenberg (dyrektor ds. marketingu produktów i branży). Zarejestrować! Webinar będzie prowadzony w języku angielskim.

Źródło: www.habr.com

Dodaj komentarz