ORDS 24.3 Release Highlights

ORDS 24.3 Release Highlights

Overview

There's plenty to talk about in this release. However, I'm most excited about the performance improvements, ORDS sample applications, and documentation changes. Read on to get the whole story.

Enhancements

API Performance

REST API responses from either AutoREST or customer based modules could see as much as a 30% improvement in response times.

About a year ago, we introduced (we owe all our progress to Orla though) an internal program to track performance changes/improvements across ORDS APIs quantitatively. I can't go into too much detail, but here is what I can divulge:

  • Although we use K6 for our performance testing, we are not promoting its use over any other available performance testing solution. There are other great tools available (e.g., Artillery , JMeter , and, of course, k6 ).
  • Testing is performed nightly against a 23ai database (installed in a PDB); we also include APEX in these tests.
  • For the tests, 250 schemas are created and then populated with various database objects (e.g., Functions, Materialized Views, PLSQL Packages, Sequences, Tables, Triggers, JSON Relational Duality Views, etc.)These schemas are then absolutely hammered with Virtual Users. Users perform actions such as auto-REST enabling objects, creating custom Resource Modules, creating JSON Relational Duality Views, interrogating ORDS Metadata, and performing bulk inserts (BATCHLOAD) GETs, POSTs, etc.
  • These metrics are what we use to track the ORDS quantitative metrics longitudinally.

So, that's what we mean by "performance improvements." Pretty cool, eh?


NOTE: I don't know if that 30% average is mean or median. So, for all you stat nerds, don't ask ??!


ORDS Sample applications

We have not one but TWO sample ORDS applications for you ??!

Flask/Python

The first is a fully contained LiveLabs sandbox workshop, which can be found here . But if you want to remix the code, check out my repo here (everything is heavily commented; hopefully, this will ease your pain).

Node.js/React

Secondly, our development team has created a brand new advanced application. Complete with OAuth2.0 authentication. Details are here .


NOTE: We'll continue to iterate and improve on both, so please share with us your feedback!


OAuth2.0 changes

A consolidation and streamlining of the OAUTH and OAUTH_ADMIN PLSQL packages. The details:

  • We've consolidated those mentioned above into these two new packages:?ORDS_SECURITYORDS_SECURITY_ADMIN
  • The OAUTH?and?OAUTH_ADMIN?PL/SQL Packages have been deprecated by royal decree. However, they'll still be included until ORDS version 25.3 (this time next year).
  • Creating a client and receiving your Client ID and Client Secret is now streamlined, and Client Secrets can now be rotated (by supporting two active Client Secrets while in rotation).

Locating the new PL/SQL Packages:

23ai Boolean

ORDS now returns BOOLEAN types as JSON TRUE|FALSE properties instead of 0|1.

What this looks like in practice with various configurations*:

Oracle Database 23ai + ORDS 24.3



Oracle Database 23ai + ORDS 24.2



Oracle DB 21c Enterprise Edition + ORDS 24.3


Doesn't work...Red Herring?? ??

*Thank you, internet stranger, for providing us with this juicy bit of code .

Mong[ooohhh, no, you didn't?!] DB API

  • Support for even more Database Administration commands:listIndexesdropIndexes, and optional parameter expireAfterSeconds (which applies to the createIndexes command)
  • The following MongoDB Aggregation Stages are now supported:$external$lookup$sample, and $lookup (see docs for details )
  • Users may now specify a JSON Schema validator when creating a collection
  • You may now create MongoDB API connections?without?TLS connections (Oracle Database 19c and later) can now be made.
  • Users can now set the createIndexes' "online" option to TRUE to allow DML operations at index creation time.


To-Do: More details will come from the MongoDB API team as they publish new content.


In the meantime, here are some resources I found:

UPDATE: MongoDB API update article (October 10,?2024)

A brand new article about the latest MongoDB API updates just dropped! Thanks to Hermann for publishing and sharing the latest. Details are here .?

Documentation

Introduced the following new sections:

6.2.4?Using OCI Monitoring Service with Oracle REST Data Services

  • This new section details the configuration of the recently added ords-metrics utility. You can find details on how to set up this monitoring service (to communicate with OCI) here .

3.2?Deploying ORDS with Central Configuration Server

Appendix D ORDS Central Configuration OpenAPI

  • Along with the updated docs, we've included the OpenAPI spec for creating the endpoints required for a central configuration server (and a special video clip of me retrieving the PL/SQL definitions and the OpenAPI spec in Database Actions ).
  • OpenAPI spec doc here .

Java notes

In our Release Notes, we claim support for the following JDKs:

  • Oracle Java 11, 17, or 21
  • Oracle GraalVM Enterprise Edition for Java 11
  • Oracle GraalVM Enterprise Edition for Java 17
  • Oracle GraalVM Enterprise Edition for Java 21

However, this may be confusing regarding Oracle GraalVM Enterprise Editions. You should know that there are currently TWO Oracle GraalVM Enterprise Edition JDKs :

  • Oracle GraalVM Enterprise Edition 20
  • Oracle GraalVM Enterprise Edition 21

Instead of how we've presented, here is another, cleaner presentation of these JDKs:


So when you are choosing your JDK (to use with ORDS), make sure you consider your platform and use cases. Details on using GraalVM with ORDS here .

fin

This concludes the release notes supplement.

And, this space ?? left intentionally blank.

Follow

And remember to follow, like, subscribe, share, taunt, troll, or stalk me!


要查看或添加评论,请登录

社区洞察

其他会员也浏览了