Chapter 1. Introduction to Oracle NoSQL Database

Table of Contents

NoSQL Database Server Licensing
NoSQL Database Client Licensing
Architecture
Replication Nodes and Shards
Replication Factor
Partitions
Zones
Topologies
Arbiter Nodes
Data Models
Consistency
Durability
Quorum
Administration
KVLite
The Administration Command Line Interface history
Monitoring
Troubleshooting
Access and Security
Integration
Oracle Database Mobile Server Integration
Hadoop Integration
Property Graph Integration
Oracle External Tables Integration
Coherence Integration

Welcome to Oracle NoSQL Database. Oracle NoSQL Database provides multi-terabyte distributed key/value pair storage that offers scalable throughput and performance. That is, it services network requests to store and retrieve data which is accessed as tables of information or, optionally, as key-value pairs. Oracle NoSQL Database services these types of data requests with a latency, throughput, and data consistency that is predictable based on how the store is configured.

Oracle NoSQL Database uses Oracle Berkeley DB Java Edition as its underlying storage engine. For more information about Oracle Berkeley DB Java Edition, start here: http://www.oracle.com/technetwork/database/berkeleydb/overview/index-093405.html

Oracle NoSQL Database offers full Create, Read, Update and Delete (CRUD) operations with adjustable durability guarantees. Oracle NoSQL Database is designed to be highly available, with excellent throughput and latency, while requiring minimal administrative interaction.

Oracle NoSQL Database provides performance scalability. If you require better performance, you use more hardware. If your performance requirements are not very steep, you can purchase and manage fewer hardware resources.

Oracle NoSQL Database is meant for any application that requires network-accessible data with user-definable read/write performance levels. The typical application is a web application which is servicing requests across the traditional three-tier architecture: web server, application server, and back-end database. In this configuration, Oracle NoSQL Database is meant to be installed behind the application server, causing it to either take the place of the back-end database, or work alongside it. To make use of Oracle NoSQL Database, code must be written that runs on the application server.

An application makes use of Oracle NoSQL Database by performing network requests against Oracle NoSQL Database's data store, which is referred to as the KVStore. The requests are made using the Oracle NoSQL Database Driver, which is linked into your application as a Java library (.jar file), and then accessed using a series of Java APIs.

The usage of these APIs is introduced in one of two manuals. Most developers will want to read Oracle NoSQL Database Getting Started with the Table API. Developers who want to use the older, legacy Key/Value API should read Oracle NoSQL Database Getting Started with the Key/Value API.

Note

Oracle NoSQL Database is tested using Java 8, and so Oracle NoSQL Database should be used only with that version of Java.

You can also access data stored in Oracle NoSQL Database tables by using a non Java language driver. C, Node.js and Python drivers are available. For more information, see the specific driver's Quick Start Guide.

Finally, Oracle NoSQL Database 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. This language can be used to access data in tables in a read-only fashion.

To follow along query examples run with the interactive shell, see Getting Started with SQL for Oracle NoSQL Database.

If you are interested in using the JAVA API to execute queries see Getting Started with the Table API.

For a more detailed description of the SQL language (both DDL and query statements) see the SQL for Oracle NoSQL Database Specification.

NoSQL Database Server Licensing

Oracle NoSQL Database Server is available one of two licensing options: Oracle NoSQL Database Community Edition (CE) and Oracle NoSQL Database Enterprise Edition (EE). For a description on these two licenses, see:

http://docs.oracle.com/cd/NOSQL/html/EE-CE.Differences.html