1 Introduction to Oracle NoSQL Database

Welcome to Oracle NoSQL Database, offering a horizontally scalable distributed storage for key-value pairs, with scalable throughput, and great performance. Oracle NoSQL Database services network requests to store and retrieve data, accessing data as either tables or key-value pairs. Oracle NoSQL Database services data requests with low latency, high throughput, and predictable data consistency, based on how you configure the store.

Oracle NoSQL Database uses Oracle Berkeley DB Java Edition as its underlying storage engine. For more information about Oracle Berkeley DB Java Edition, see Oracle Berkeley DB Java Edition.

Oracle NoSQL Database offers full Create, Read, Update and Delete (CRUD) operations with adjustable durability guarantees. Oracle NoSQL Database is designed with high availability (HA), excellent throughput, and low latency, while requiring minimal administrative interaction.

Oracle NoSQL Database provides performance scalability. To increase performance, you can add hardware. If your performance is sufficient for your needs, you can purchase and manage fewer hardware resources.

Oracle NoSQL Database is designed for applications that require network-accessible data with user-definable read/write performance levels. A typical example is a web application servicing requests across the traditional three-tier architecture: web server, application server, and back-end database. In this configuration, Oracle NoSQL Database should be installed behind the application server, either taking the place of the back-end database, or working alongside it. To make use of Oracle NoSQL Database, you must supply code to run on the application server.

An application makes use of Oracle NoSQL Database by performing network requests against a data store using either Java direct driver or Oracle NoSQL Database language SDKs. The Java direct driver is packaged with the Oracle NoSQL Database software. You can use the Java APIs supported by the Java direct driver to access data from the data store. The Oracle NoSQL Database language SDKs require a proxy server, which translates network activity between the SDK and the Oracle NoSQL Database data store.
  • To use Java direct driver, link the Oracle NoSQL Database driver to your application as a Java library (.jar file). Your code can then access any of the Java APIs that the library supplies. See Java Direct Driver Developer's Guide.
  • To use a language SDK, link the Oracle NoSQL Database language SDK to your application to access the library and create application requests. Configure the Oracle NoSQL Database Proxy. The Proxy allows the Oracle NoSQL Database language SDK access to the Oracle NoSQL Database data store. To learn more about the Proxy configuration, see Oracle NoSQL Database Proxy.

The language SDKs are compatible with NoSQL on-premises as well as the cloud service. Therefore, it is advisable to write your application to the language SDK APIs for ultra-flexibility. If required, the application can run against the cloud service or on-premises without any application code changes, other than the authentication. For ultra-low latency, it is advisable to consider the Java direct driver, as this driver removes a network hop from each request.

Oracle NoSQL Database language SDKs support Go, Java, .NET, Node.js/TypeScript, Python, and Rust programming languages and Spring framework.

Note:

Oracle NoSQL Database supports both direct driver and language SDK for Java.

Note:

Oracle NoSQL Database requires Java 11 or later version. Because Oracle NoSQL Database is tested using Java 17, it is recommended to use that Java version with Oracle NoSQL Database.

Oracle NoSQL Database also provides SQL for Oracle NoSQL Database, which is an easy to use SQL-like language that supports read-only queries and data definition (DDL) statements. Use this SQL-like language to access table data for read-only queries and DDL statements.

To follow along with the query examples run with the interactive shell and language SDKs, see Developers Guide.

To execute queries using the Java API, see Introduction to SQL for Oracle NoSQL Database.

For a more detailed description of the SQL language (DDL, DML, and queries), see SQL Reference Guide .