Resources | Cegal

Oracle Database 23ai – Begynd Nu!

Skrevet af Kim Berg Hansen | 20-08-2024 08:54:09

Oracle 23ai er den næste langsigtede udgivelse, som du skal opgradere til efter Oracle 19c, og den er fyldt med nye funktioner, som du bør begynde at lære mere om nu. Som udvikler er der mange spændende nye funktioner at udforske.

Det er midt i 2024, og vi har ventet på Oracle Database 23c i mange måneder, hvor der har været udgivelser drypvis, mest nogle cloud-tilbud samt 23c Free (prøv at sige “Twenty-three See Free” hurtigt 3 gange 😉), men aldrig den "fulde pakke" general availability.

Nu er det omdøbt til 23ai (så det er lettere at udtale 23ai Free), og flere og flere tilbud er blevet tilgængelige, og (forhåbentlig) snart også GA on-premises. Men du tænker måske: "Meh, i min dagligdag behøver jeg ikke at bekymre mig om 23ai – når jeg får on-premises versionen, skal jeg alligevel vente på nogle patchsets, før vi opgraderer." Det er forståeligt, men du bør begynde nu for at lære om 23ai.

Hvorfor nu?

Mit Oracle Support-dokument 742060.1 (på nuværende tidspunkt) viser, hvordan 23ai er den næste langtidsudgivelse, som du skal opgradere til efter 19c.

Du har mindre end to års support tilbage for 19c (medmindre du vil betale for en forlængelse), og 23ai er fyldt med så mange nye funktioner, at du ikke når at lære alt, hvad du behøver, hvis du starter tre måneder før deadline. Bare tjek vejledningen til nye funktioner – en 12-kapitlers (!) manual.

Hvis det virker lidt overvældende, så kig i det mindste på højdepunkterne for funktionerne her. >

Det er ikke for tidligt at begynde at lege med det – når deadline nærmer sig, vil du være glad for, at du ikke starter fra bunden.

Husk også, at 23ai faktisk har nået version 23.6 – der var versionerne 23.1, 23.2 og 23.3 af 23c plus en version 23.4 og 23.5 af 23ai før – så den gamle talemåde om at skulle vente et par udgivelser for bugfixes er ikke 100% gyldig her, i hvert fald ikke for det meste af det, der påvirker din dagligdag efter min mening.

Hvad er interessant for mig?

Som udvikler synes jeg personligt, at der er en masse interessante nye ting at udforske.

Kunstig intelligens

Med det nye navn er det selvfølgelig en af de vigtigste funktioner at prøve og eksperimentere med. Både den nye VECTOR-datatype og vector search, der kan bruges til AI inde i databasen, men også Select AI-funktionen i Autonomous Database, der gør det muligt at foretage forespørgsler uden at kende SQL, for eksempel ved at skrive noget som dette:

SELECT AI WHAT CUSTOMER IS THE LARGEST BY SALES;

Og det vil automatisk blive transformeret og udført som denne SQL:

SELECT C.CUST_ID, C.CUST_FIRST_NAME, C.CUST_LAST_NAME, SUM(S.AMOUNT_SOLD) AS TOTAL_SALES
FROM SH.CUSTOMERS C
JOIN SH.SALES S ON C.CUST_ID = S.CUST_ID
GROUP BY C.CUST_ID, C.CUST_FIRST_NAME, C.CUST_LAST_NAME
ORDER BY TOTAL_SALES DESC
FETCH FIRST 1 ROW ONLY;

(Eksempel fra Brendan Tierney’s blog serie om Select AI. > )

JSON Relational Duality

Ved første øjekast kan dette virke som noget, vi har set før med XMLType og Object views, hvor vi lægger en view oven på relationelle tabeller, så vi kan forespørge dem som XML eller OO. Men revolutionen i JSON Relational Duality er, at det fungerer begge veje! Viewet definerer, hvordan JSON oprettes ud fra de relationelle tabeller på samme måde, men uden noget så besværligt som INSTEAD OF triggers. Vi kan også indsætte/opdatere/slette JSON via viewet, og det vil være de underliggende tabeller, der faktisk manipuleres.

Dette gør det muligt at udvikle både SQL, PL/SQL (og måske APEX) på de relationelle data og samtidig udgive dem som JSON REST-endpoints, hvilket muliggør dokumentorienteret NoSQL-udvikling på de samme data uden behov for replikering.

Desuden – hvis du allerede har en JSON-dokumentorienteret app, er der en JSON-To-Duality migrator >, som ser på JSON'en og opretter de nødvendige relationelle tabeller og JSON Relational Duality Views, så du kan arbejde både relationelt og dokumentorienteret.

Meget mere...

Der er property graph support inde i databasen, hvilket lader mig forespørge grafer i mine SELECT-udsagn med SQL/PGQ og sammenkæde dem med mine relationelle tabeller og andre dataformater, som SQL kan læse i dag.

Der er Data Use Case Domains, datatyper og SQL-forbedringer, JavaScript stored procedures, SQL Firewall og så videre og så videre...

Jeg er så glad for at være en SQL-udvikler i disse dage med alle de nye lækkerier i 23ai 😊

Hvor begynder jeg?

Jeg har allerede linket til New Features guide, men du kan også få et godt overblik her. >

Så skaf dig en eller flere af de gratis muligheder for at lege med 23ai:

Der er ingen undskyldning for ikke at lege med 23ai – der er masser af gratis måder at gøre det på.

Når du når til det punkt, hvor du vil bruge det og ikke kun lege med det, er det i øjeblikket tilgængeligt i cloud i Base DB, ExaDB-D og ExaDB-C@C. plus on-premises på engineered systems Exadata og ODA.

Så tøv ikke – gå i gang! 😊