AWS is the big kahuna in cloud computing, so it's bound to attract the most fire from competitors trying to stand out from the crowd, however, the animosity between Oracle and AWS isn't merely the typical sniping between rivals. I won't recount the litany of executive barbs and even legal filings the two sides have exchanged, and given the alpha male personalities involved it's hard to say how much is bravado and how much plain animosity.
However, look past the superficial talking points and there is a fundamental philosophical difference in how cloud services should be designed and marketed. Nowhere is the contrast starker than in their approach to databases.
In introducing Oracle's latest 21c update to its eponymous and ubiquitous database (used by 97 of the world's 100 largest companies), EVP Andrew Mendelsohn stressed the strategic distinction between Oracle's "converged database" and the patchwork offerings from Amazon and "niche database vendors," a list that apparently includes Microsoft (Azure), Google and Snowflake.
Deviating from the conventional cloud wisdom, Oracle is designed to handle a growing number of data types and workloads via a platform developers and DBAs already understand. Oracle 21c shows a company that (should) understand as much about databases as anyone, doubling down on a grand unification strategy for data management, analytics and development.
New features: Something for everyone
21c is the latest version of a database the goes back more than four decades and is the foundation for Oracle's cloud database services. Aside from the expected performance improvements, the release adds data types and features that enable applications outside the traditional database sweet spot of transaction processing and structured data analysis. These include:
- Blockchain tables, namely immutable structures that only allow data to be inserted, not deleted or changed where elements are chained together by storing the previous row’s cryptographic hash (512-bit SHA2) in the current row. Entries can also be signed with a user's X.509 certificate to facilitate non-repudiation.
- Enhanced JSON support adding to a feature introduced in 12c by introducing a native JSON data type and increasing the speed of JSON scans and updates 4-10 times, which Oracle claims makes 21c faster than MongoDB or AWS DocumentDB on a standard benchmark. Native support allows developers to:
- Store JSON in a database table
- Query a table for rows storing particular values within a JSON document
- Create indexes to find these rows efficiently
- Generate JSON from relational rows and columns
- AutoML feature to speed the model building process by automatically:
- Testing multiple algorithms against a particular dataset. New in 21c include algorithms for anomaly detection, regression and deep learning analysis.
- Selecting the features (data variables) with the best predictive value.
- Tuning model hyperparameters to yield the most accurate results.
- Evaluating the model's predictive performance based on preset criteria.
- Support for server Persistent Memory (PMem, aka Intel Optane) allowing database files and SQL code to reside and run on a non-volatile, direct-mapped PMem filesystem, significantly improving I/O performance and latency.
- Self-managed in-memory column store that automatically places and removes objects in a column store and automatically compresses columns based on usage.
- Sharding Advisor Tool for distributed databases that analyzes a database "schema and query workload, and produces a set of alternative designs for the sharded database, including recommendations for an effective sharding key, which tables to shard, and which tables to duplicate on all shards."
- Faster, more memory efficient graph data models
In sum, Oracle intends 21c to be the universal platform for data-driven applications.
Bootstrapping application development
A database platform might supply the raw materials, but can't be fully utilized if the expertise required to exploit it is limited to a high priesthood of data analysts. Oracle tackles the app development problem with the APEX (Application Express) low-code (RAD) IDE. APEX has been available as an
installable software product for almost two decades, but Oracle now makes it available as a PaaS running on OCI. $360 per month supports 500 users, with no limit on the number of applications, and includes Oracle's REST data services (ORDS) and SQL Developer Web. APEX applications requiring traditional SQL code can be re-platformed to a full Autonomous database.
It's fitting that a company whose founder is legendary for his bombast would become the iconoclast of cloud providers, but it's refreshing to see a company unafraid to try things differently. Oracle has already pushed the state of database automation via its Autonomous Database and is now attacking the purpose-built orthodoxy that has turned the AWS portfolio into a bewildering jumble.
Oracle's lofty goal of a single database for all occasions isn't fully realized since the company offers three flavors of Autonomous Database optimized for different scenarios: OLTP, data warehouse and JSON unstructured data. Likewise, although its automated database management, tuning and security features are comprehensive and likely best in class, they aren't unique and will eventually be reproduced by competitors. Nonetheless, Oracle has designed its cloud infrastructure for databases making it a compelling choice for DB-backed custom and SaaS applications.
I'm not enough of a database expert to assess how well Oracle's grand unification strategy might work in practice. However, if successful — namely, if any performance and usability tradeoffs are minimal — autonomous converged databases using well-known DB semantics are a welcome contrast to the database product stratification we've seen in the cloud era.