About Using the Oracle Database as a Document Store through SODA

Simple Oracle Document Access (SODA) is a family of APIs that provides a very easy and intuitive way to persist JavaScript Object Notation (JSON) documents in the Oracle database. Operations on the documents supported by SODA include create, remove, update, and delete (CRUD).

SODA allows the Oracle Database to be used as a powerful NoSQL store, supporting key-based access to all documents, and query-based access to JSON documents, all without needing to use SQL. Because SODA is built on top of the Oracle database, you get proven Oracle enterprise-grade reliability and many features typically lacking in NoSQL stores, such as transactions. If desired, you can still access SODA documents directly with SQL.

The primary abstraction provided by SODA is a collection of documents. SODA is particularly powerful when it comes to JSON documents, though all other types of documents are supported. JSON documents in SODA can be queried using intuitive template-like queries, without needing to write SQL. These queries are also expressed in JSON, and called QBEs (query-by-example).

SODA is built on top of native JSON support in the Oracle database. Under the covers, document collections are stored in Oracle database relational tables, which can be accessed directly as well, for example by reporting tools.

The Exadata Express service provides the following implementations of SODA:

  • SODA Over REST

    This implementation of SODA is part of Oracle REST Data Services (ORDS), and is usable from any language capable of making HTTP requests. See About SODA for REST.

  • SODA for Java

    The Java library supports SODA for use with the Java programming language. See Using SODA for Java.

  • SODA for SQLcl

    SQLcl command line shell supports basic SODA commands and also supports scripting using SODA by allowing SODA Java classes to be invoked from Javascript. See Using SODA from SQLcl.