
Pod koniec marca nowa wersja platformy danych InterSystems IRIS 2020.1. Nawet pandemia koronawirusa nie przeszkodziła w wydaniu.
Najważniejsze zmiany w nowej wersji obejmują zwiększoną wydajność rdzenia, generowanie aplikacji REST zgodnie ze specyfikacją OpenAPI 2.0, partycjonowanie obiektów, nowy typ portalu zarządzania, obsługę protokołu MQTT, uniwersalną pamięć podręczną zapytań oraz nową strukturę do tworzenia elementów produktu w języku Java lub .NET. Pełną listę zmian i listę kontrolną aktualizacji w języku angielskim można znaleźć na stronie . Więcej szczegółów pod tekstem.
InterSystems IRIS 2020.1 jest wydaniem z rozszerzonym wsparciem. InterSystems udostępnia dwa rodzaje wersji InterSystems IRIS:
- Wydania dostarczane w trybie ciągłym. Są one wydawane trzy do czterech razy w roku jako obrazy Docker. Przeznaczony do tworzenia aplikacji i wdrażania ich w chmurze lub kontenerach Docker.
- Wydania z rozszerzonym wsparciem. Wychodzą rzadziej, ale są wydawane wersje z poprawkami. Dostępne na wszystkich platformach obsługiwanych przez InterSystems IRIS.
Pomiędzy wersjami z rozszerzonym wsparciem 2019.1 i 2020.1 ukazały się wersje zawierające wyłącznie obrazy Dockera: 2019.2, 2019.3, 2019.4. Wszystkie nowe funkcje i poprawki z tych wersji są uwzględnione w wersji 2020.1. Niektóre z funkcji wymienionych poniżej zostały po raz pierwszy wprowadzone w wersjach 2019.2, 2019.3 i 2019.4.
Tak więc.
Tworzenie aplikacji REST zgodnie ze specyfikacją
Oprócz Obsługiwane od wersji 2019.1.1, w wydaniu 2020.1 stało się możliwe wygenerowanie szkieletu kodu dla usługi REST zgodnie ze specyfikacją w formacie OpenAPI 2.0. Więcej szczegółów znajdziesz w sekcji dokumentacji «".
Konwersja instalacji Cache lub Ensemble
Ta wersja umożliwia konwersję instalacji Caché lub Ensemble na InterSystems IRIS podczas instalacji. Sama konwersja może wymagać zmian w kodzie programu, ustawieniach lub innych skryptach, ale w większości przypadków będzie prosta.
Przed dokonaniem konwersji prosimy o zapoznanie się z Przewodnikiem po konwersji InterSystems IRIS In-Place oraz Przewodnikiem wdrażania InterSystems IRIS. Dokumenty te znajdują się na stronie internetowej Centrum Wsparcia InterSystems Worldwide w zakładce „".
Języki klienta
InterSystems IRIS Native API dla Pythona
Łatwy i szybki dostęp z poziomu języka Python do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów — «".
InterSystems IRIS Native API dla Node.js
Łatwy i szybki dostęp z Node.js do wielowymiarowych tablic, w których InterSystems IRIS przechowuje dane. Więcej szczegółów — «".
Dostęp relacyjny dla Node.js
Obsługa dostępu ODBC do InterSystems IRIS dla programistów Node.js
Komunikacja dwukierunkowa w bramach Java i .NET
Połączenia bram .NET i Java są teraz dwukierunkowe. Oznacza to, że program .NET lub Java wywoływany z IRIS poprzez bramę korzysta z tego samego połączenia w celu uzyskania dostępu do IRIS. Więcej szczegółów — «".
Ulepszenia natywnego interfejsu API dla Java i .NET
Natywny interfejs API IRIS dla Java i .NET obsługuje $LIST i przekazywanie parametrów przez odniesienie.
Nowy widok portalu zarządzania
W tej wersji wprowadzono pierwsze zmiany w Portalu Zarządzania. Dotyczą one na razie wyłącznie wyglądu i nie mają wpływu na funkcjonalność.
SQL
Uniwersalna pamięć podręczna zapytań. Począwszy od wersji 2020.1 wszystkie zapytania, łącznie z zapytaniami wbudowanymi i klasowymi, będą przechowywane jako zapytania w pamięci podręcznej. Wcześniej korzystanie z osadzonych zapytań wymagało ponownej kompilacji programu w celu wygenerowania nowego kodu zapytania, na przykład w przypadku dodania nowego indeksu lub zmiany statystyk tabeli. Teraz wszystkie plany zapytań są przechowywane w pojedynczej pamięci podręcznej i czyszczone niezależnie od programu, który używa zapytania.
Więcej typów zapytań jest teraz paralelizowanych, w tym zapytania DML.
Zapytania skierowane do tabeli podzielonej na fragmenty mogą teraz używać niejawnego łączenia „->”.
Zapytania uruchamiane z Portalu Zarządzania są teraz wykonywane w tle. Długie zapytania nie będą już porzucane z powodu przekroczenia limitu czasu strony internetowej. Długotrwałe żądania można teraz anulować.
Możliwości integracji
Nowe środowisko do tworzenia elementów produktów w Java lub .NET
W tej wersji wprowadzono nowe środowisko PEX (Production EXtension), które umożliwia wybór dodatkowego języka przy implementacji komponentów produkcyjnych. W tej wersji PEX obsługuje języki Java i .NET w celu 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 jedynie tworzyć usługi i operacje biznesowe oraz trzeba było wywołać generator kodów w Portalu Zarządzania. Struktura PEX zapewnia bardziej elastyczny sposób włączania kodu Java i .NET do komponentów produkcyjnych, często bez programowania ObjectScript. Pakiet PEX obejmuje następujące gatunki:
Więcej szczegółów — «".
Monitorowanie wykorzystania portów w produktach.
Narzędzie Port Authority monitoruje porty wykorzystywane przez usługi i operacje biznesowe. Za jego pomocą możesz określić dostępne porty i je zarezerwować. Więcej szczegółów — «".
Adaptery do MQTT
W tej wersji uwzględniono adaptery obsługujące protokół Message Queuing Telemetry Transport (MQTT), który jest powszechnie stosowany w aplikacjach Internetu rzeczy (IoT). Więcej szczegółów — «".
Fragmentowanie
Uproszczona architektura
W tej wersji wprowadzono prostszy i bardziej intuicyjny sposób tworzenia klastra — bazujący na pojedynczych serwerach (na poziomie węzłów), a nie na regionach, jak w poprzednich wersjach. Nowe API - . Nowe podejście jest zgodne ze starym podejściem – klastrem na poziomie przestrzeni nazw – i nie wymaga zmian w istniejących instalacjach. Więcej szczegółów — «"A"".
Inne usprawnienia w zakresie partycjonowania:
- Teraz możesz podzielić (rozdzielić często połączone części dwóch tabel na te same fragmenty) dowolne dwie tabele. Wcześniej można było to zrobić tylko w przypadku tabel mających wspólny klucz fragmentu. Od tej wersji składnia COSHARD WITH jest stosowana również do tabel z identyfikatorem systemowym. Więcej szczegółów — «"A"".
- Wcześniej oznaczenie tabeli jako klastrowanej było możliwe tylko za pomocą DDL, teraz można to zrobić w opisie klasy - za pomocą nowego słowa kluczowego Sharded. Więcej szczegółów — «".
- Model obiektowy obsługuje teraz partycjonowanie. Metody %New(), %OpenId i %Save() działają na obiektach klasy, której dane są rozproszone po wielu fragmentach. Należy pamiętać, że kod jest wykonywany na serwerze, z którym połączony jest klient, a nie na tym, na którym przechowywany jest obiekt.
- Ulepszony algorytm wykonywania zapytań klastrowych. Unified Shard Queue Manager kolejkuje żądania wykonania do puli procesów, zamiast uruchamiać nowe procesy dla każdego żądania. Liczba procesów w puli jest ustalana automatycznie na podstawie zasobów serwera i obciążenia.
Infrastruktura i wdrażanie w chmurze.
W tej wersji wprowadzono udoskonalenia infrastruktury i wdrażania chmury, w tym:
- Wsparcie Tencent Cloud. InterSystems Cloud Manager (ICM) obsługuje teraz tworzenie infrastruktury i wdrażanie aplikacji w oparciu o InterSystems IRIS na Tencent Cloud.
- Obsługa nazwanych woluminów w Dockerze oraz montowanie folderów (montowanie metodą bind).
- ICM obsługuje elastyczne skalowanie — konfiguracje można teraz skalować, tzn. tworzyć je ponownie z większą lub mniejszą liczbą węzłów. Więcej szczegółów — «"A"".
- Ulepszenia w tworzeniu własnego kontenera.
- ICM obsługuje nową architekturę partycjonowania.
- Domyślnym użytkownikiem w kontenerach nie jest już root.
- ICM wspomaga 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 Denial-of-Service.
- Obsługa wykrywania usług poprzez bezpieczne RPC.
- ICM obsługuje wdrożenia w wielu regionach. Gwarantuje to wysoką dostępność systemu, nawet jeśli cały region przestanie działać.
- Możliwość aktualizacji ICM i zapisywania informacji o wdrożonych już systemach.
- Tryb bezkontenerowy — ICM może teraz bezpośrednio, bez kontenerów, wdrażać konfiguracje klastra na platformie Google Cloud Platform, a także instalować na niej bramę internetową. Ubuntu lub SUSE.
- Obsługa scalania pliku 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 możliwość upraszcza automatyzację i obsługę różnych narzędzi do zarządzania konfiguracją, takich jak Kubernetes.
Analityka
Selektywne przebudowywanie kostki
Począwszy od tej wersji InterSystems IRIS Business Intelligence (dawniej DeepSee) obsługuje selektywne budowanie kostek — tylko jedną miarę lub wymiar. Można zmienić opis kostki i przebudować tylko to, co uległo zmianie, dzięki czemu cały sześcian będzie dostępny podczas przebudowy.
Łącznik PowerBI
Usługa Microsoft PowerBI obsługuje teraz pracę z tabelami i kostkami InterSystems IRIS. Łącznik jest dostarczany z usługą PowerBI od wersji z kwietnia 2019 r. Więcej szczegółów — «".
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, bez konieczności czekania na pełne wyniki.
ругие улучшения
- Przechodzenie przez zmienną globalną za pomocą funkcji $ORDER w odwrotnej kolejności (kierunek = -1) jest teraz równie szybkie, jak w kolejności standardowej.
- 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, gdy na stronie produktu zachodzą zmiany.
- Białe listy umożliwiające filtrowanie dozwolonych żądań do CSP, ZEN i REST.
- Wsparcie dla .NET Core 2.1.
- Poprawiona wydajność ODBC.
- Ustrukturyzowany dziennik umożliwiający łatwą analizę komunikatów.log.
- API do sprawdzania błędów i ostrzeżeń. Klasa %SYSTEM.Monitor.GetAlerts().
- Kompilator klasy sprawdza teraz, czy globalna nazwa w deklaracji magazynu nie przekracza maksymalnej długości (31 znaków) i zwraca błąd, jeśli tak nie jest. Wcześniej nazwa globalna była bez ostrzeżenia skracana do 31 znaków.
Gdzie dostać
Jeśli masz wsparcie, pobierz dystrybucję z sekcji strona internetowa wrc.intersystems.com
Jeśli chcesz po prostu wypróbować InterSystems IRIS -
Jeszcze łatwiej za pomocą Dockera:
docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0Webinar
7 kwietnia o godzinie 17:00 czasu moskiewskiego odbędzie się webinarium poświęcone nowej wersji. Gospodarzami konferencji będą Jeff Fried (dyrektor ds. zarządzania produktem) i Joe Lichtenberg (dyrektor ds. marketingu produktu i branży). Webinarium będzie prowadzone w języku angielskim.
Źródło: www.habr.com
