Database 23ai: najważniejsze funkcje

Dowiedz się, w jaki sposób Oracle Database 23ai wprowadza sztuczną inteligencję do danych, ułatwiając tworzenie aplikacji i obsługę obciążeń o newralgicznym znaczeniu.

Co tydzień będziemy przedstawiać nową funkcję Oracle Database 23ai wraz z przykładami, co pozwoli Ci szybko rozpocząć pracę. Sprawdzaj tę stronę co tydzień, aby poznać nowe wyróżnione funkcje.

Oracle Database 23ai: sztuczna inteligencja na potrzeby danych, sztuczna inteligencja dla programistów, sztuczna inteligencja dostosowana do Twoich wymagań (2:33)
Przedstawiamy Oracle Database 23ai: wprowadzenie AI do danych

Larry Ellison i Juan Loaiza o strategii GenAI stojącej za Oracle Database 23ai.

Najważniejsze funkcje Oracle Database 23ai dla programistów

Sprawdź niektóre z funkcji, które stworzyliśmy z myślą o programistach:

AI Vector Search wprowadza sztuczną inteligencję do danych, umożliwiając tworzenie generatywnych potoków sztucznej inteligencji przy użyciu danych biznesowych, bezpośrednio w bazie danych. Łatwe w użyciu natywne funkcje wektorowe pozwalają programistom tworzyć aplikacje SI nowej generacji, które łączą przetwarzanie relacyjnych baz danych z wyszukiwaniem podobieństw i funkcją RAG (retrieval augmented generation). Przeprowadzanie wyszukiwania wektorowego bezpośrednio na danych biznesowych eliminuje konieczność ich przenoszenia, a także złożoność, koszty i problemy ze spójnością związane z zarządzaniem wieloma bazami danych i ich integracją.

Inne funkcje, z którymi powinni zapoznać się programiści, obejmują:

… i wiele więcej!

  • Funkcja Transparent Application Continuity chroni aplikacje C/C++, Java, .NET, Python i Node.js przed awariami bazowego oprogramowania, sprzętu, komunikacji i warstw pamięci masowej...

  • Jeśli transakcja nie zostanie zatwierdzona lub wycofana przez długi czas, utrzymując blokady wierszy, może potencjalnie zablokować inne transakcje o wysokim priorytecie...

  • DBMS_SEARCH implementuje powszechne wyszukiwanie przez funkcję Oracle Text. DBMS_SEARCH maksymalnie ułatwia tworzenie jednego indeksu dla wielu tabel i widoków...

  • Dodaliśmy rozszerzenia do funkcji Memoptimized Rowstore Fast Ingest z obsługą partycjonowania, skompresowanych tabel, szybkiego opróżniania przy użyciu bezpośredniego zapisywania danych i bezpośredniej obsługi populacji magazynu kolumn w pamięci...

  • W Oracle Globally Distributed Database wprowadzono funkcję replikacji Raft w Oracle Database 23c. Pozwala nam to osiągnąć bardzo szybkie (poniżej 3 sekund) przejmowanie awaryjne bez utraty danych w przypadku awarii węzła lub centrum danych...

  • W tym tygodniu skupimy się na SQL Analysis Report — łatwej w użyciu funkcji pomagającej programistom tworzyć lepsze instrukcje SQL...

Dostępność aplikacji — brak przestojów klientów baz danych

Funkcja Transparent Application Continuity chroni aplikacje C/C++, Java, .NET, Python i Node.js przed awariami bazowego oprogramowania, sprzętu, komunikacji i warstw pamięci masowej. Dzięki Oracle Real Application Clusters (RAC), Active Data Guard (ADG) i Autonomous Database (współużytkowana i dedykowana) system Oracle Database pozostaje dostępny nawet wtedy, gdy węzeł lub podzbiór klastra RAC ulegnie awarii lub zostanie wyłączony w celu konserwacji.

W Oracle Database 23c wprowadzono wiele nowych ulepszeń, w tym obsługę aplikacji wsadowych, na przykład otwartych kursorów, zwanych również stabilnymi kursorami stanu sesji.

Automatyczne wycofywanie transakcji

Jeśli transakcja nie zostanie zatwierdzona lub wycofana przez długi czas, utrzymując blokady wierszy, może potencjalnie zablokować inne transakcje o wysokim priorytecie. Funkcja ta umożliwia aplikacjom przypisywanie priorytetów do transakcji, a administratorom — ustawianie limitów czasu dla każdego priorytetu. Baza danych automatycznie wycofa transakcję o niższym priorytecie i zwolni blokady wierszy, jeśli zablokuje transakcję o wyższym priorytecie po upływie ustawionego limitu czasu, umożliwiając kontynuowanie transakcji o wyższym priorytecie.

Funkcja automatycznego wycofywania transakcji zmniejsza obciążenie administracyjne, jednocześnie pomagając utrzymać poziom opóźnień transakcji / umów SLA dotyczących transakcji o wyższym priorytecie.

Rozszerzenia funkcji Fast Ingest

Dodaliśmy rozszerzenia do funkcji Memoptimized Rowstore Fast Ingest z obsługą partycjonowania, skompresowanych tabel, szybkiego opróżniania przy użyciu bezpośredniego zapisywania danych i bezpośredniej obsługi populacji magazynu kolumn w pamięci. Dzięki tym rozszerzeniom funkcja Fast Ingest jest łatwiejsza do zastosowania w większej liczbie sytuacji wymagających szybkiego wchłanianie danych. Obecnie Oracle Database zapewnia lepsze wsparcie dla aplikacji wymagających szybkiego wchłaniania danych. Dane mogą być wchłaniane, a następnie przetwarzane w tej samej bazie danych. Ogranicza to potrzebę korzystania ze specjalnych środowisk ładowania danych, a tym samym upraszcza operacje i ogranicza nadmiarowość danych.

Replikacja oparta na Raft w usłudze Globally Distributed Database

W Oracle Globally Distributed Database wprowadzono funkcję replikacji Raft w Oracle Database 23c. Pozwala nam to osiągnąć bardzo szybkie (poniżej 3 sekund) przejmowanie awaryjne bez utraty danych w przypadku awarii węzła lub centrum danych. Replikacja Raft wykorzystuje protokół zatwierdzania oparty na konsensusie i jest konfigurowana deklaratywnie poprzez określenie współczynnika replikacji. Wszystkie partycje shard w rozproszonej bazie danych działają jako liderzy i obserwatorzy podzbioru danych. Umożliwia to stworzenie architektury symetrycznej rozproszonej bazy danych typu active/active/active, w której wszystkie partycje shard obsługują ruch aplikacji.

Pomaga to poprawić dostępność bez utraty danych, uprościć zarządzanie i zoptymalizować wykorzystanie sprzętu w środowiskach Globally Distributed Database.

SQL Analysis Report

W tym tygodniu skupimy się na SQL Analysis Report — łatwej w użyciu funkcji pomagającej programistom tworzyć lepsze instrukcje SQL. Funkcja ta raportuje typowe problemy z instrukcjami SQL, a zwłaszcza te, które mogą prowadzić do niskiej wydajności SQL. Funkcja ta jest dostępna w narzędziach DBMS_XPLAN i SQL Monitor.

  • Tabele blockchain i tabele niemutowalne, które są dostępne od czasu wydania Oracle Database 19c, wykorzystują bezpieczne metody kryptograficzne, aby pomóc chronić dane przed manipulacją lub usunięciem przez zewnętrznych hakerów i nieuczciwych pracowników...

  • Oracle Database obsługuje teraz uprawnienia do schematu w uzupełnieniu do istniejących uprawnień obiektowych, systemowych i administracyjnych...

  • Funkcja SQL Firewall pozwala wykrywać anomalie i zapobiegać atakom typu SQL injection. SQL Firewall bada wszystkie instrukcje SQL, w tym informacje kontekstowe sesji, takie jak adres IP i użytkownik systemu operacyjnego...

  • W Oracle Database 23c dostępna jest nowa rola DB_DEVELOPER_ROLE, która zapewnia programistom aplikacji wszystkie niezbędne uprawnienia do projektowania, wdrażania i debugowania aplikacji w bazach danych Oracle Database...

Tabele blockchain

Tabele blockchain i tabele niemutowalne, które są dostępne od czasu wydania Oracle Database 19c, wykorzystują bezpieczne metody kryptograficzne, aby pomóc chronić dane przed manipulacją lub usunięciem przez zewnętrznych hakerów i nieuczciwych pracowników. Obejmuje to ograniczenia tylko do wstawiania, które zapobiegają aktualizacjom lub usuwaniu (nawet przez administratorów baz danych), kryptograficzne łańcuchy haszujące umożliwiające weryfikację, podpisane skróty tabel pozwalające na wykrywanie wszelkich wycofań na dużą skalę oraz podpisywanie wstawionych wierszy przez użytkowników końcowych przy użyciu ich kluczy prywatnych. Oracle Database 23c wprowadza wiele ulepszeń, w tym obsługę replikacji logicznej za pośrednictwem Oracle GoldenGate i stopniowych uaktualnień przy użyciu Active Data Guard, obsługę transakcji rozproszonych obejmujących tabele blockchain, wydajne masowe usuwanie wygasłych wierszy oparte na partycjach oraz optymalizacje wydajności wstawień/zatwierdzeń.

W tej wersji wprowadzono również możliwość dodawania/usuwania kolumn bez wpływu na kryptograficzne łańcuchy haszujące, łańcuchy specyficzne dla użytkownika i skróty tabeli dla filtrowanych wierszy, funkcję podpisywania przez delegata oraz kontrasygnowanie bazy danych. Rozszerzono także zarządzanie danymi zabezpieczonymi kryptograficznie o zwykłe tabele, umożliwiając audyt historycznych zmian w tabelach innych niż blockchain za pośrednictwem archiwum Flashback zdefiniowanego pod kątem korzystania z tabeli historii blockchain.

Funkcje te doskonale sprawdzają się w przypadku wbudowanej ścieżki audytu lub prowadzenia archiwum. Mogą być wykorzystywane w księgach finansowych, historii płatności, śledzeniu zgodności z przepisami, dziennikach prawnych i wszelkich danych dotyczących zasobów, w przypadku których manipulacja lub usunięcie może prowadzić do poważnych konsekwencji prawnych lub finansowych bądź utraty reputacji.

Uprawnienia do schematu

Oracle Database obsługuje teraz uprawnienia do schematu w uzupełnieniu do istniejących uprawnień obiektowych, systemowych i administracyjnych. Funkcja ta poprawia bezpieczeństwo, upraszczając autoryzację obiektów bazy danych, co pozwala lepiej wdrożyć zasadę najniższych potrzebnych uprawnień i uniknąć zgadywania, kto powinien mieć dostęp do czego.

SQL Firewall

Funkcja SQL Firewall pozwala wykrywać anomalie i zapobiegać atakom typu SQL injection. SQL Firewall bada wszystkie instrukcje SQL, w tym informacje kontekstowe sesji, takie jak adres IP i użytkownik systemu operacyjnego. Osadzona w jądrze bazy danych funkcja SQL Firewall rejestruje i (jeśli jest włączona) blokuje nieautoryzowany kod SQL, zapewniając, że nie można go ominąć. Wymuszając listę dozwolonych zapytań SQL i kontekstów sesji, funkcja SQL Firewall może zapobiec wielu atakom typu zero-day i ograniczyć ryzyko kradzieży lub niewłaściwego wykorzystania danych uwierzytelniających.

DB_DEVELOPER_ROLE

W Oracle Database 23c dostępna jest nowa rola DB_DEVELOPER_ROLE, która zapewnia programistom aplikacji wszystkie niezbędne uprawnienia do projektowania, wdrażania i debugowania aplikacji w bazach danych Oracle Database. Korzystając z tej roli, administratorzy nie muszą już zgadywać, które uprawnienia mogą być niezbędne do tworzenia aplikacji.

  • Oracle Database obsługuje teraz logiczny typ danych zgodny ze standardem ISO SQL. Umożliwia to przechowywanie wartości True i False w tabelach i używanie wyrażeń logicznych w instrukcjach SQL...

  • Oracle Database umożliwia teraz złączenie tabeli docelowej w instrukcjach UPDATE i DELETE z innymi tabelami przy użyciu klauzuli FROM. Te inne tabele mogą ograniczać zmieniane wiersze lub być źródłem nowych wartości...

  • Można teraz używać aliasu kolumny lub pozycji elementu SELECT w klauzulach GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP i GROUP BY GROUPING SETS. Ponadto klauzula HAVING obsługuje aliasy kolumn...

  • Procesy tworzenia, modyfikacji i usuwania obiektów DDL w Oracle Database obsługują teraz modyfikatory składni IF EXISTS i IF NOT EXISTS...

  • Oracle Database 23c ułatwia programistom obliczanie sum i średnich dla wartości INTERVAL...

  • Klauzula RETURNING INTO dla instrukcji INSERT, UPDATE i DELETE została rozszerzona o raporty dotyczące starych i nowych wartości, na które ma wpływ dana instrukcja...

  • Możesz teraz uruchamiać zapytania zawierające tylko wyrażenie SELECT bez klauzuli FROM. Ta nowa funkcja poprawia przenośność kodu SQL i ułatwia pracę programistom.

  • Twórz makra SQL pozwalające przekształcać typowe wyrażenia i instrukcje SQL w sparametryzowane konstrukcje wielokrotnego użytku, których można używać w innych instrukcjach SQL...

  • Funkcje PL/SQL w instrukcjach SQL są automatycznie konwertowane (transpilowane) na wyrażenia SQL, gdy tylko jest to możliwe...

  • Silnik SQL Oracle Database obsługuje teraz klauzulę VALUES dla wielu typów zapytań...

  • Adnotacje umożliwiają przechowywanie i pobieranie metadanych dotyczących obiektów bazy danych. Są to pola tekstowe w dowolnym formacie, których aplikacje mogą używać do dostosowywania logiki biznesowej lub interfejsów użytkownika...

  • Domeny użytkowe (czasami nazywane domenami SQL lub domenami użytkowymi aplikacji) to obiekty słownika wysokiego poziomu, które pełnią rolę lekkich modyfikatorów typów i centralnie dokumentują zamierzone wykorzystanie danych przez aplikacje...

  • Teraz można przechowywać większą liczbę atrybutów w jednym wierszu, co może uprościć projektowanie i wdrażanie niektórych aplikacji...

Logiczny typ danych

Oracle Database obsługuje teraz logiczny typ danych zgodny ze standardem ISO SQL. Umożliwia to przechowywanie wartości True i False w tabelach i używanie wyrażeń logicznych w instrukcjach SQL. Logiczny typ danych standaryzuje przechowywanie wartości Yes i No oraz ułatwia migrację do Oracle Database.

Złączenia bezpośrednie dla instrukcji UPDATE i DELETE

Oracle Database umożliwia teraz złączenie tabeli docelowej w instrukcjach UPDATE i DELETE z innymi tabelami przy użyciu klauzuli FROM. Te inne tabele mogą ograniczać zmieniane wiersze lub być źródłem nowych wartości. Złączenia bezpośrednie ułatwiają pisanie kodu SQL w celu zmiany i usunięcia danych.

Alias kolumny GROUP BY

Można teraz używać aliasu kolumny lub pozycji elementu SELECT w klauzulach GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP i GROUP BY GROUPING SETS. Ponadto klauzula HAVING obsługuje aliasy kolumn. Te nowe rozszerzenia bazy danych 23c ułatwiają tworzenie klauzul GROUP BY i HAVING, dzięki czemu zapytania SQL są znacznie bardziej czytelne i łatwe w aktualizacji, zapewniając jednocześnie lepszą przenośność kodu SQL.

IF [NOT] EXISTS

Procesy tworzenia, modyfikacji i usuwania obiektów DDL w Oracle Database obsługują teraz modyfikatory składni IF EXISTS i IF NOT EXISTS. Umożliwia to kontrolowanie, czy błąd powinien zostać zgłoszony, jeśli dany obiekt istnieje lub nie istnieje, upraszczając obsługę błędów w skryptach i aplikacjach.

Agregacje typu danych INTERVAL

Oracle Database 23c ułatwia programistom obliczanie sum i średnich dla wartości INTERVAL. Dzięki temu rozszerzeniu można teraz przekazywać typy danych INTERVAL do funkcji agregujących i analitycznych SUM i AVG.

Klauzula RETURNING INTO

Klauzula RETURNING INTO dla instrukcji INSERT, UPDATE i DELETE została rozszerzona o raporty dotyczące starych i nowych wartości, na które ma wpływ dana instrukcja. Pozwala to programistom na użycie tej samej logiki dla każdego z tych typów bibliotek DML w celu uzyskania wartości przed i po wykonaniu instrukcji. Stare i nowe wartości są poprawne tylko dla instrukcji UPDATE. Instrukcje INSERT nie zgłaszają starych wartości, a instrukcje DELETE nie zgłaszają nowych wartości.

Dzięki możliwości uzyskiwania starych i nowych wartości, na które mają wpływ instrukcje INSERT, UPDATE i DELETE w ramach wykonywania polecenia SQL, programiści mają jednolite podejście do odczytywania tych wartości i ograniczają ilość pracy, jaką musi wykonać baza danych.

SELECT bez klauzuli FROM

Możesz teraz uruchamiać zapytania zawierające tylko wyrażenie SELECT bez klauzuli FROM. Ta nowa funkcja poprawia przenośność kodu SQL i ułatwia pracę programistom.

Makra SQL

Twórz makra SQL pozwalające przekształcać typowe wyrażenia i instrukcje SQL w sparametryzowane konstrukcje wielokrotnego użytku, których można używać w innych instrukcjach SQL. Makra SQL mogą być wyrażeniami skalarnymi, które są zwykle używane w listach SELECT, a także w klauzulach WHERE, GROUP BY i HAVING. Makra SQL mogą być również używane do enkapsulacji obliczeń i logiki biznesowej lub mogą być wyrażeniami tabelarycznymi, zwykle używanymi w klauzuli FROM. W porównaniu do konstrukcji PL/SQL makra SQL mogą poprawić wydajność. Makra SQL zwiększają produktywność programistów, upraszczają wspólne tworzenie oprogramowania i poprawiają jakość kodu.

SQL Transpiler

Funkcje PL/SQL w instrukcjach SQL są automatycznie konwertowane (transpilowane) na wyrażenia SQL, gdy tylko jest to możliwe. Transpilacja funkcji PL/SQL do instrukcji SQL może przyspieszyć ogólny czas wykonania.

Table Value Constructor (TVC)

Silnik SQL Oracle Database obsługuje teraz klauzulę VALUES dla wielu typów zapytań. Pozwala to na bieżąco materializować wiersze danych, określając je przy użyciu nowej składni bez polegania na istniejących tabelach. Oracle Database 23c obsługuje klauzulę VALUES dla instrukcji SELECT, INSERT i MERGE. Wprowadzenie nowej klauzuli VALUES pozwala programistom tworzyć mniej kodu dla poleceń SQL ad-hoc, co zwiększa czytelność i oszczędza czas pracy.

Adnotacje dotyczące użytkowania

Adnotacje umożliwiają przechowywanie i pobieranie metadanych dotyczących obiektów bazy danych. Są to pola tekstowe w dowolnym formacie, których aplikacje mogą używać do dostosowywania logiki biznesowej lub interfejsów użytkownika. Adnotacje to pary nazwa-wartość lub po prostu nazwa. Pomagają one korzystać z obiektów bazy danych w ten sam sposób we wszystkich aplikacjach, upraszczając proces programowania i poprawiając jakość danych.

Domeny użytkowe

Domeny użytkowe (czasami nazywane domenami SQL lub domenami użytkowymi aplikacji) to obiekty słownika wysokiego poziomu, które pełnią rolę lekkich modyfikatorów typów i centralnie dokumentują zamierzone wykorzystanie danych przez aplikacje. Domeny użytkowe mogą służyć do definiowania wykorzystania danych i standaryzacji operacji w celu enkapsulacji zestawu ograniczeń kontrolnych, właściwości wyświetlania, reguł porządkowania i innych właściwości użytkowych bez konieczności stosowania metadanych na poziomie aplikacji.

Domeny użytkowe dla co najmniej jednej kolumny w tabeli nie modyfikują bazowego typu danych, a zatem mogą być również dodawane do istniejących danych bez przerywania działania aplikacji lub bez powodowania problemów z przenośnością.

Szerokie tabele — teraz z maksymalnie 4096 kolumnami

Teraz można przechowywać większą liczbę atrybutów w jednym wierszu, co może uprościć projektowanie i wdrażanie niektórych aplikacji.

Maksymalna dozwolona liczba kolumn w tabeli lub widoku bazy danych została zwiększona do 4096. Funkcja ta wykracza poza poprzedni limit 1000 kolumn, umożliwiając tworzenie aplikacji, które mogą przechowywać atrybuty w jednej tabeli. Niektóre aplikacje, m.in. z zakresu uczenia maszynowego i strumieniowych obciążeń związanych z Internetem rzeczy (IoT), mogą wymagać użycia zdenormalizowanych tabel zawierających ponad 1000 kolumn.

  • Oracle Database 23c i CMAN-TDM oferują teraz najlepsze w swojej klasie funkcje zarządzania połączeniami i ich monitorowania z niejawnym gromadzeniem w puli, DRCP z wieloma pulami, per-PDB PRCP i licznymi innymi możliwościami...

  • Dzięki Oracle Database 23c funkcja Pipelining umożliwia aplikacjom .NET, Java i C/C++ wysyłanie wielu żądań do bazy danych bez oczekiwania na odpowiedź serwera...

  • Wywołania modułów Multilingual Engine (MLE) umożliwiają programistom wywoływanie funkcji JavaScript przechowywanych w modułach z poziomu SQL i PL/SQL. Specyfikacje wywołań napisane w języku PL/SQL łączą JavaScript z jednostkami kodowania PL/SQL...

  • Nową funkcją Oracle Database 23c jest możliwość przechowywania przez klienta informacji konfiguracyjnych Oracle, takich jak opisy połączeń, w Microsoft Azure App Configuration lub Oracle Cloud Infrastructure Object Storage...

  • Trzy filary monitorowania to wskaźniki, rejestrowanie i śledzenie rozproszone. W tym wydaniu wprowadzono ulepszone rejestrowanie, nowe debugowanie (diagnozowanie przy pierwszym niepowodzeniu) i nowe możliwości śledzenia...

  • Oracle Database 23c wprowadza Transportable Binary XML (TBX), nową autonomiczną metodę magazynowania XMLType. TBX obsługuje sharding, indeks wyszukiwania XML i operacje wypychania Exadata, zapewniając lepszą wydajność i skalowalność niż inne opcje przechowywania XML...

Zarządzanie połączeniami zapewniające maksymalną skalowalność

Oracle Database 23c i CMAN-TDM oferują teraz najlepsze w swojej klasie funkcje zarządzania połączeniami i ich monitorowania z niejawnym gromadzeniem w puli, DRCP z wieloma pulami, per-PDB PRCP i licznymi innymi możliwościami. Zwiększ skalowalność i możliwości swoich aplikacji C, Java, Python, Node.js i ODP.NET dzięki najnowszym i najlepszym funkcjom DRCP i PRCP. Skutecznie monitoruj wykorzystanie puli PRCP za pomocą statystyk dostępnych w nowym widoku dynamicznym V$TDM_STATS w Oracle Database 23c.

Asynchroniczne programowanie i potokowanie sterownika bazy danych

Dzięki Oracle Database 23c funkcja Pipelining umożliwia aplikacjom .NET, Java i C/C++ wysyłanie wielu żądań do bazy danych bez oczekiwania na odpowiedź serwera. Oracle Database kolejkuje i przetwarza te żądania jeden po drugim, umożliwiając aplikacjom klienckim kontynuowanie pracy do momentu powiadomienia o zakończeniu żądań. Ulepszenia te zapewniają lepsze środowisko użytkownika końcowego, lepszą responsywność aplikacji opartych na danych, pełną skalowalność, unikanie wąskich gardeł w wydajności i efektywne wykorzystanie zasobów po stronie serwera i klienta.

Aby wniosek klienta został od razu zwrócony, Oracle Database Pipelining wymaga asynchronicznego lub reaktywnego interfejsu API w sterownikach .NET, Java i C/C++. Mechanizmy te mogą być używane z bazą Oracle Database przy użyciu lub bez użycia funkcji Database Pipelining.

W przypadku języka Java, Oracle Database 23c wyposaża bibliotekę Reactive Extensions w rozwiązania Java Database Connectivity (JDBC), Universal Connection Pool (UCP) i sterownik Oracle R2DBC. Obsługuje również wirtualne wątki Java w sterowniku (Project Loom), a także biblioteki Reactive Streams, takie jak Reactor, RxJava, Akka Streams, Vert.x itp.

Procedury składowane JavaScript

Wywołania modułów Multilingual Engine (MLE) umożliwiają programistom wywoływanie funkcji JavaScript przechowywanych w modułach z poziomu SQL i PL/SQL. Specyfikacje wywołań napisane w języku PL/SQL łączą JavaScript z jednostkami kodowania PL/SQL. Ta funkcja umożliwia programistom korzystanie z funkcji JavaScript wszędzie tam, gdzie wywoływane są funkcje PL/SQL.

Konfiguracja wielochmurowa i integracja zabezpieczeń

Nową funkcją Oracle Database 23c jest możliwość przechowywania przez klienta informacji konfiguracyjnych Oracle, takich jak opisy połączeń, w Microsoft Azure App Configuration lub Oracle Cloud Infrastructure Object Storage. Ta nowa funkcja upraszcza konfigurację chmury aplikacji, wdrażanie i łączność ze sterownikami dostępu do danych Oracle JDBC, .NET, Python, Node.js i Oracle Call Interface. Informacje są przechowywane u dostawców konfiguracji, co zapewnia korzyści w postaci oddzielenia kodu aplikacji od konfiguracji.

Korzystaj z jednokrotnego logowania OAuth 2.0 do chmury i bazy danych, aby jeszcze bardziej ułatwić administrowanie. Klienty Oracle Database 23c mogą używać Microsoft Entra ID, Azure Active Directory lub tokenów dostępu Oracle Cloud Infrastructure do logowania do bazy danych.

Obserwowalność, OpenTelemetry i diagnostyka dla aplikacji Java i .NET

Trzy filary monitorowania to wskaźniki, rejestrowanie i śledzenie rozproszone. W tym wydaniu wprowadzono ulepszone rejestrowanie, nowe debugowanie (diagnozowanie przy pierwszym niepowodzeniu) i nowe możliwości śledzenia. Sterowniki JDBC i ODP.NET zostały również wyposażone w furtkę do śledzenia wywołań baz danych; furtka ta umożliwia rozproszone śledzenie przy użyciu OpenTelemetry.

Transportable Binary XML

Oracle Database 23c wprowadza Transportable Binary XML (TBX), nową autonomiczną metodę magazynowania XMLType. TBX obsługuje sharding, indeks wyszukiwania XML i operacje wypychania Exadata, zapewniając lepszą wydajność i skalowalność niż inne opcje przechowywania XML.

Dzięki obsłudze większej liczby architektur baz danych, takich jak sharding lub Exadata, oraz możliwości łatwej migracji i wymiany danych XML między różnymi serwerami, kontenerami i bazami danych PDB, TBX pozwala aplikacjom w pełni wykorzystać ten nowy format przechowywania XML na większej liczbie platform i architektur.

Istniejący magazyn XMLType w innym formacie można migrować do formatu TBX na jeden z poniższych sposobów:

Wstawienie jako wybór lub utworzenie jako wybór

Redefiniowanie online

Oracle Data Pump

  • Typ danych JSON to zoptymalizowany przez Oracle binarny format JSON o nazwie OSON. Zaprojektowano go z myślą o szybszej wydajności zapytań i operacji języka DML w bazie danych i klientach baz danych od wersji 21c...

  • JSON Relational Duality, innowacja wprowadzona w Oracle Database 23c, łączy relacyjne i dokumentowe modele danych, aby zapewnić to, co najlepsze w obu rozwiązaniach...

  • Oracle Database obsługuje format JSON na potrzeby przechowywania i przetwarzania danych o elastycznym schemacie. Dzięki Oracle Database 23c baza Oracle Database obsługuje teraz schemat JSON na potrzeby weryfikacji struktury i wartości danych JSON...

  • Konstruktor PL/SQL JSON został rozszerzony, aby akceptować instancję odpowiedniego typu agregacji PL/SQL, zwracając obiekt JSON lub typ macierzy wypełniony danymi typu agregacji.

  • Za pomocą interfejsu Oracle Database API for MongoDB programiści mogą nadal używać narzędzi i sterowników z bazy danych MongoDB w ramach Oracle Database, uzyskując jednocześnie dostęp do wielomodelowych funkcji i samoczynnej bazy danych Oracle...

Typ danych binarnych JSON

Typ danych JSON to zoptymalizowany przez Oracle binarny format JSON o nazwie OSON. Zaprojektowano go z myślą o szybszej wydajności zapytań i operacji języka DML w bazie danych i klientach baz danych od wersji 21c.

Perspektywy JSON Relational Duality

JSON Relational Duality, innowacja wprowadzona w Oracle Database 23c, łączy relacyjne i dokumentowe modele danych, aby zapewnić to, co najlepsze w obu rozwiązaniach. Programiści mogą tworzyć aplikacje w paradygmacie relacyjnym lub JSON z jednym źródłem prawdy i korzystać z mocnych stron obu modeli. Dane są przechowywane raz, ale można do nich uzyskiwać dostęp, zapisywać je i modyfikować przy użyciu dowolnego podejścia. Programiści korzystają z transakcji zgodnych z ACID i kontroli współbieżności, co oznacza, że nie muszą już iść na kompromis między złożonymi mapowaniami obiektowo-relacyjnymi a kwestiami niespójności danych.

Schemat JSON

Oracle Database obsługuje format JSON na potrzeby przechowywania i przetwarzania danych o elastycznym schemacie. Dzięki Oracle Database 23c baza Oracle Database obsługuje teraz schemat JSON na potrzeby weryfikacji struktury i wartości danych JSON. Operator SQL IS JSON został rozszerzony o akceptację schematu JSON, a różne funkcje PL/SQL zostały dodane w celu walidacji kodu JSON oraz opisania obiektów bazy danych, takich jak tabele, widoki i typy, jako dokumenty schematu JSON.

Domyślnie dane JSON są nie są schematami, zapewniając elastyczność. Aby upewnić się, że dane JSON mają określoną strukturę i typ, należy dokonać standardowej walidacji schematu JSON.

Współtworzenie schematu JSON
Oracle aktywnie uczestniczy w tworzeniu schematu JSON (open source) mającego na celu standaryzację deklaratywnego języka opartego na notacji JSON, umożliwiającego adnotowanie i weryfikowanie dokumentów JSON. Jest on obecnie w fazie proszenia o komentarze (Request for Comments, RFC).

Obsługa konstruktora JSON PL/SQL dla typów agregacji

Konstruktor PL/SQL JSON został rozszerzony, aby akceptować instancję odpowiedniego typu agregacji PL/SQL, zwracając obiekt JSON lub typ macierzy wypełniony danymi typu agregacji.

Operator PL/SQL JSON_VALUE został rozszerzony tak, aby jego klauzula zwrotna mogła akceptować nazwę typu, która definiuje typ instancji, którą operator ma zwrócić. Obsługa konstruktorów JSON dla typów danych zagregowanych usprawnia wymianę danych między aplikacjami PL/SQL a językami obsługującymi format JSON.

Zgodność z interfejsem API MongoDB

Za pomocą interfejsu Oracle Database API for MongoDB programiści mogą nadal używać narzędzi i sterowników z bazy danych MongoDB w ramach Oracle Database, uzyskując jednocześnie dostęp do wielomodelowych funkcji i samoczynnej bazy danych Oracle. Klienci mogą uruchamiać obciążenia robocze bazy MongoDB w Oracle Cloud Infrastructure (OCI). Często w istniejących aplikacjach MongoDB wymagane są jedynie niewielkie lub żadne zmiany i wystarczy zmienić tylko opis połączenia.

Oracle Database API dla MongoDB wchodzi w skład standardowych usług Oracle REST Data Services. Interfejs ten jest wstępnie skonfigurowany i w pełni zarządzany jako element bazy danych Oracle Autonomous Database.

Grafy właściwości operacyjnych

Oracle Database oferuje natywną obsługę struktur danych grafów właściwości i zapytań dotyczących grafów. Jeśli zależy Ci na elastyczności w zakresie tworzenia grafów w połączeniu z danymi transakcyjnymi, JSON, przestrzennymi i innymi typami danych, mamy dla Ciebie odpowiednie rozwiązanie. Programiści mogą teraz z łatwością tworzyć aplikacje grafowe za pomocą SQL przy użyciu istniejących narzędzi programistycznych i frameworków SQL.

  • Na koniec roku 2023 przedstawiamy podsumowanie nowych funkcji w Oracle Database 23c, które omawialiśmy na przestrzeni całego roku...

  • W Oracle Database 23c wprowadzono narzędzie do migracji online, które upraszcza migrację z Oracle Advanced Queuing (AQ) do Transactional Event Queues (TxEventQ) z automatyzacją orkiestracji, diagnostyką i naprawą zgodności źródła i celu oraz ujednoliconym środowiskiem użytkownika...

  • Oracle Database 23c zapewnia jeszcze lepszą kompatybilność aplikacji Apache Kafka z Oracle Database...

  • Rezerwacje bez blokady umożliwiają kontynuowanie współbieżnych transakcji bez blokowania aktualizacji mocno modyfikowanych wierszy. Zamiast blokować wiersze, rezerwacje bez blokady są w nich przechowywane...

  • Oracle nadal rozszerza swoje natywne usługi chmurowe i obsługę platformy Kubernetes za pomocą swojego nowego narzędzia Observability Exporter for Oracle Database...

  • Framework Saga wprowadzony w Oracle Database 23c jest ujednolicony pod kątem tworzenia asynchronicznych aplikacji Saga w bazie danych...

Narzędzie do migracji online z AQ do TxEventQ

W Oracle Database 23c wprowadzono narzędzie do migracji online, które upraszcza migrację z Oracle Advanced Queuing (AQ) do Transactional Event Queues (TxEventQ) z automatyzacją orkiestracji, diagnostyką i naprawą zgodności źródła i celu oraz ujednoliconym środowiskiem użytkownika. Scenariusze migracji mogą być krótko- lub długoterminowe i wykonywane z wyłączeniem AQ lub bez niego, eliminując zakłócenia operacyjne.

Obecni klienci korzystający z AQ, którzy są zainteresowani kolejkami o wyższej przepustowości i kompatybilnością z Kafka przy użyciu klienta Java Kafka i interfejsów API REST podobnych do Confluent, mogą łatwo dokonać migracji z AQ do TxEventQ. TxEventQ oferuje skalowalność, wydajność, partycjonowanie oparte na kluczach i natywną obsługę ładunku JSON, co ułatwia pisanie mikrousług/aplikacji sterowanych zdarzeniami w wielu językach, w tym m.in. Java, JavaScript, PL/SQL czy Python.

Interfejsy API Kafka

Oracle Database 23c zapewnia jeszcze lepszą kompatybilność aplikacji Apache Kafka z Oracle Database. Ta nowa funkcja umożliwia łatwą migrację aplikacji Kafka w języku Java do kolejek zdarzeń transakcyjnych (TxEventQ). Interfejsy API Kafka Java mogą teraz łączyć się z serwerem Oracle Database i używać TxEventQ jako platformy komunikacyjnej.

Programiści mogą z łatwością dokonać migracji istniejącej aplikacji Java korzystającej z Kafka do Oracle Database za pomocą sterownika JDBC Thin. Z kolei dzięki funkcji biblioteki Oracle Database 23c po stronie klienta aplikacje Kafka mogą teraz łączyć się z Oracle Database zamiast z klastrem Kafka i w przejrzysty sposób korzystać z platformy komunikacyjnej TxEventQ.

Rezerwacje wartości kolumn bez blokady

Rezerwacje bez blokady umożliwiają kontynuowanie współbieżnych transakcji bez blokowania aktualizacji mocno modyfikowanych wierszy. Zamiast blokować wiersze, rezerwacje bez blokady są w nich przechowywane. Sprawdzają, czy aktualizacje mogą się powieść, i odraczają je do czasu zatwierdzenia transakcji. Funkcja rezerwacji bez blokady usprawnia obsługę i współbieżność transakcji.

Monitorowanie za pomocą platformy Grafana

Oracle nadal rozszerza swoje natywne usługi chmurowe i obsługę platformy Kubernetes za pomocą swojego nowego narzędzia Observability Exporter for Oracle Database. Umożliwia ono łatwe eksportowanie metryk baz danych i aplikacji w standardowym formacie Prometheus oraz łatwe tworzenie pulpitów informacyjnych Grafana w celu monitorowania wydajności baz danych i aplikacji Oracle.

Interfejsy API Saga w Oracle Database 23c

Framework Saga wprowadzony w Oracle Database 23c jest ujednolicony pod kątem tworzenia asynchronicznych aplikacji Saga w bazie danych. Saga sprawia, że proces tworzenia nowoczesnych, wysokowydajnych aplikacji mikrousługowych jest łatwiejszy i bardziej niezawodny.

Saga to transakcja biznesowa obejmująca wiele baz danych, wdrożona jako seria niezależnych transakcji lokalnych. Transakcje Saga pozwalają uniknąć globalnego blokowania czasu trwania transakcji występującego w przypadku synchronicznych transakcji rozproszonych i upraszczają wymagania dotyczące spójności w celu utrzymania globalnego stanu aplikacji. Framework Saga integruje się z możliwymi do zarezerwowania bez blokady kolumnami w Oracle Database 23c, aby zapewnić automatyczną kompensację Saga, upraszczając tworzenie aplikacji.

Framework Saga emuluje specyfikację MicroProfile LRA.