This article is more than 1 year old
Oracle Database 21c bridges NoSQL gap with native JSON support, plays catch-up with relational rivals
Take those claimed performance gains with a pinch of salt, though
Oracle has announced the general availability, at least in the cloud, of Database 21c.
Those wanting an on-premises edition for Exadata, Linux and Windows will have to wait until 2021 - for now 21c will exist exclusively in the Oracle Cloud Database Service Virtual Machine and Bare Metal Service.
In terms of new features, Willie Hardie, Big Red's vice president of database product management, pointed towards native data type support for JSON documents.
Since Database 12c, users have been able to query JSON files, albeit by storing data as a VARCHAR2 or a LOB (CLOB or BLOB). This enabled developers to build applications with the flexibility of a schemaless design model, Hardie said. It was also possible for developers to treat their Oracle Database as if it were a NoSQL database by accessing it with the SODAs (Simple Object Data API) available for Java, Node.js, Python, C and REST, he said.
But with Database 21c, the firm claimed JSON support is "further enhanced" by offering a JSON as a native data type.
"This means that instead of having to parse JSON on read or update operations, the parse only happens on an insert and the JSON is then held in an internal binary format which makes access much faster. This can result in read and update operations being 4 or 5 times faster and updates to very large JSON documents being 20 to 30 times faster," Hardie claimed.
Oracle has also added a new JSON function,
JSON_TRANSFORM
which Hardie said made it simpler to update and remove multiple attributes in a document in a single operation.
Although native support for JSON was a good step to bringing documental stores and relational databases together, users should take Oracle's performance claims with a pinch of salt, said Federico Razzoli, director and founder of database consultancy Vettabase.
"Query performance mainly depends on using indexes. Indexing JSON attributes is possible on all major databases. Parsing time is much less relevant," he said.
It should be noted, as Razzoli pointed out, that Postgres and MySQL have supported the JSON file type for some years.
Banking software firm tiptoes off to the cloud with MariaDB after $2m Oracle licence shocker
READ MOREMeanwhile, MariaDB, which was sharded out of MySQL after Oracle bought earlier custodian Sun Microsystems, also supports JSON, but as text. Razzoli said he doubted whether this would offer a significant performance advantage.
"In general, JSON support is a big step to reduce the gap between relational DBMSs and documental NoSQL databases like MongoDB. However, it is important to note that JSON, as well as the documental model, only apparently make data design flexible."
He said the disadvantage of using JSON and the documental model databases is that engineers need to design how to nest the data structure in objects and arrays from the start. "This decision affects how your data can be queried. It may be hard or impossible to add a new query later and make it fast if it doesn't suit well your data design."
As well as native JSON support, Oracle's 21c release also introduced blockchain tables, which it said help in building applications that can support the distributed ledger. ®