Oracle Database 21c spotlights in-memory processing and ML, adds new low-code APEX cloud service

Because COVID drove customers to postpone upgrades last year, the latest annual update of Oracle database packs two years’ worth of new features. And it’s adding icing to the cake with a new low-code/no-code developer cloud service with a free tier to draw rookie developers.

low-code.jpg

Among the messages that Oracle is putting out for its flagship database, adding new access paths for developers has become just as important as adding new data types. This month, Oracle is launching the next version of Oracle Database, version 21c. In a session hosted by Andrew Mendelsohn, executive vice president of database server technologies, the company is also announcing a new cloud-based APEX Service designed to carve a new access path for low-code developers who traditionally thought that writing apps for Oracle was complex and expensive. To induce new developers, Oracle is throwing in a free tier to this new cloud service.

Also: Low-code and no-code development is changing how software is built - and who builds it 

As Oracle now numbers its releases according to calendar year, 21c is the next release, which was announced as generally available last month. In actuality, 21c is a double release because the previous release, 20c, never got out of preview. That had nothing to do with the technology but everything to do with dealing with the upheaval of the COVID-19 pandemic. As the world was entering lockdown last spring, Oracle's on-premises customers (like many others) were more concerned about survival and pivoting their businesses, so taking on new upgrades was not exactly tops on their lists.

What's new in Oracle Database 21c

The highlights of the 20c/21c blended release are more in-database functions for new languages; an expanded selection of popular machine learning algorithms; a new easier-to-use GUI; expanded in-memory processing options; and new sharing features supporting distributed database deployment. Some of these features are new while others come from capabilities either already available in the cloud or Exadata. With this release, Oracle consolidates a wave of recent features into the mothership.

Let's start with features previously introduced in the cloud. Oracle has embraced a cloud-first strategy where new capabilities are released on Oracle Cloud Infrastructure (OCI) before they make it into general release versions. In the 21c release, this includes the JSON data type, which is another step in Oracle's converged (multi-model) database strategy. Oracle has supported in-database JSON for a while, but that support has evolved from its origins as variable character (VARCHAR) or BLOB to binary support. That binary support, which allows for 10x faster scans and 4x faster updates, was productized with the release of the specialized Autonomous JSON database service on OCI back in the summer.

In other cases, 21c upgrades existing capabilities that, to add a plot complication, recently appeared in yet another new Oracle cloud service. We're talking about database in-memory. First appearing in Database 12c back in 2013, it was designed to speed analytics. Customers could declare which tables in a row-based transaction database would be replicated into an adjoining in-memory column store for analytic queries. In 21c, this capability has evolved considerably, automating the process into a form of policy-based data tiering, where data that is frequently hit with complex, analytic queries will be automatically replicated into the in-memory column store. If this sounds familiar, it is. The new automated in-memory feature incorporates a feature that's similar to Oracle's  Oracle's recently-announced MySQL cloud service.

And there's more. With Database 21c, Oracle adds another form of query processing for data persisted in-memory: vector processing for queries that involve repeated actions such as hash joins. With vector processing, repetitive query actions are consolidated into a pipeline as a single step. You may have previously heard about this, as Actian has offered this capability for some time in its Vector columnar data warehouse.

While we're talking about memory, 21c also adds another form that is geared toward transaction processing: persistent memory (PMEM) previously introduced in its top-of-the-line Exadata system. PMEM is a new high-performance storage tier that was introduced in September 2019 in the Exadata X8M platform, and more recently, in the Exadata Cloud Service X8M. To recap, Oracle's benchmarks show PMEM more than doubling transaction processing performance and reducing latency by up to a factor of ten. Admittedly, these results will certainly hold with a single instance. But the overall benefits will likely be more modest given that single instances are likely to work with more modest volumes of data where OLTP bottlenecks may not be as much of an issue compared to instances (like Exadata) that consolidate multiple databases across an enterprise.

Other enhancements to 21c center around multi-tenancy. Since Database 12c, Oracle customers have been able to manage multiple database tenants (known as pluggable databases) in a single "container" (not the same as Docker container). The challenge with failover is that if any single database tenant went down, you would have to failover the entire container. In 21c, failover is more granular; it can be confined to individual database tenants, avoiding the need to take the whole container down.

And no, we're not quite done yet. Oracle has added support for Blockchain tables, carrying the immutability and cryptographic support to designate the table as a trusted source of unchanged data. That means that while the table is live in the Oracle Database, users cannot modify data in it. But that doesn't mean the table is permanent; blockchain tables can be deleted or aged out of the database as part of routine data lifecycle management practices. While we're talking blockchain database, AWS has also introduced its own offering; the difference is that while AWS breaks it out as a separate database, Oracle includes blockchain tables on the mothership, reflecting its converged database strategy.

Expanding developer access

A key theme of the announcements this week is about making Oracle Database accessible to a wider community of developers. In Database 21c, Oracle is targeting web developers with a new capability to run JavaScript programs inside the database. Earlier this year, Oracle added support for OML4Py, an AutoML-like capability for automating model and feature selection and tuning of hyperparameters. While this does not amount to in-database processing of Python, it would be an obvious guess to us that this will be next on Oracle's to-do list. In case you're wondering, this all comes courtesy of the Graal project, a runtime originally designed for running Java inside the Oracle Database, that has been extended to support running programs from other languages as well.

But the more dramatic announcement is the new cloud-based Oracle APEX Service that will run against Oracle Autonomous Database as a serverless service. APEX, short for Application Express, is a highly visual drag and drop development environment intended for so-called "non-programmers" – who typically tend to be line of business users. Oracle also maintains that APEX can help experienced developers become more productive. While APEX is not the world's first visual development language (some of the earliest tools date back to the 1990s), emergence of it – and other similar languages – are prime examples of how newer visual development languages are requiring less and less coding. After nearly 20 years of gestation, APEX has become an overnight success of sorts, especially thanks to Larry Ellison's highly public embrace as a means to expand the Oracle developer community.

Oracle has come both early and late to the low-code/no-code game. As noted, APEX was conceived in the early 2000s, but, at the time, the spotlight for AppDev was with Oracle's middleware tier and its existing development languages. It also has Visual Builder, but that was aimed more at a higher-skilled developer audience as it required some degree of coding expertise.

Low-code/no-code has become popular as enterprises are seeking to resolve AppDev bottlenecks by making it easier for business analysts and subject matter experts to take the law into their own hands, rather than wait for backlogs in IT to clear. The common thread for all of these tools is that you can develop apps faster with far less code.

Given that a significant chunk of application development tends to build on existing software infrastructure, with projects such as mobile apps, low-code/no-code has gained significant momentum and vendor uptake. For instance, Microsoft has promoted extensibility of its 365 office and collaboration suite with the Power Platform. Earlier this year, Google acquired AppSheet, while SaaS providers such as Salesforce and ServiceNow feature low-code development environments to extend their services. And specialized players such as OutSystemsMendix, and Appian have developed substantial client bases in this area.

With the APEX Service, Oracle is not striving to compete with the likes of OutSystems or Mendix. Instead, it is carving out broader paths for making the Oracle Database, which has always been better known for functionality, a platform that is more welcoming for business users to extend. It's sealing the deal with tight integration with the 21c database that should make runtimes far more performant thanks to an architecture that reduces roundtrips between application code and the database by a factor of ten.

Disclosure: AWS and Oracle are dbInsight clients.