Oracle NoSQL Database
   HOME

TheInfoList



OR:

Oracle NoSQL Database is a NoSQL-type
distributed Distribution may refer to: Mathematics *Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations *Probability distribution, the probability of a particular value or value range of a varia ...
key-value database from Oracle Corporation. It provides transactional semantics for data manipulation, horizontal scalability, and simple administration and monitoring. Oracle NoSQL Database Cloud Service is a managed cloud service for applications that require low latency, flexible data models, and elastic scaling for dynamic workloads. Oracle NoSQL Database is a multi-model, multi-region, multi-cloud, active-active database designed to provide a highly available, scalable, performant, flexible, and reliable data management solution to meet today’s most demanding workloads. It can be deployed in enterprise data centers and cloud environments. It is well-suited for high volume and velocity workloads, like Internet of Things, 360-degree customer view, online contextual advertising, fraud detection, mobile application, user personalization, and online gaming. Developers can use a single application interface to build applications that run in enterprise and cloud environments.Developers focus on application development and data store requirements rather than managing back-end servers, storage expansion, cluster deployments, topology, software installation/patches/upgrades, backup, operating systems, and availability. NoSQL database scales to meet dynamic application workloads and throughput requirements. Users create tables to store their application data and perform database operations. A NoSQL table is similar to a relational table with additional properties including provisioned write units, read units, and storage capacity. Users provision the throughput and storage capacity in each table based on anticipated workloads. NoSQL Database resources are allocated and scaled accordingly to meet workload requirements. Users are billed hourly based on the capacity provisioned. NoSQL Database supports tabular model. Each row is identified by a unique key, and has a value, of arbitrary length, which is interpreted by the application. The application can manipulate (insert, delete, update, read) a single row in a transaction. The application can also perform an iterative, non-transactional scan of all the rows in the database.


Licensing

Oracle Corporation distributes the Oracle NoSQL Database in two editions: *''Oracle NoSQL Database Server Community Edition'' under an Apache License, Version 2.0 *''Oracle NoSQL Enterprise Edition'' under the Oracle Commercial License Oracle NoSQL Database is licensed using a freemium model: open-source versions of Oracle NoSQL Community Edition are available, but end-users can purchase additional features and support via the Oracle Store. Oracle NoSQL Database drivers, licensed pursuant to the Apache 2.0 License, are used with both the community and enterprise editions.


Main features


Architecture

Oracle NoSQL Database is built upon the Oracle
Berkeley DB Berkeley DB (BDB) is an unmaintained embedded database software library for key/value data, historically significant in open source software. Berkeley DB is written in C with API bindings for many other programming languages. BDB stores arbitr ...
Java Edition
high-availability High availability (HA) is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period. Modernization has resulted in an increased reliance on these systems. Fo ...
storage engine. A layer of services is implemented on top of the storage engine to provide a distributed database architecture. Oracle NoSQL Database is designed for enterprise applications requiring predictable low latency, on-demand scalability, data model flexibility, effortless operations.


Sharding and replication

Oracle NoSQL Database is a client-server, sharded,
shared-nothing A shared-nothing architecture (SN) is a distributed computing architecture in which each update request is satisfied by a single node (processor/memory/storage unit) in a computer cluster. The intent is to eliminate contention among nodes. Nodes do ...
system. The data in each shard are replicated on each of the nodes that comprise the shard. It provides a simple key-value paradigm to the application developer. The major key for a record is hashed to identify the shard that the record belongs to. Oracle NoSQL Database is designed to support changing the number of shards dynamically in response to availability of additional hardware. If the number of shards changes, key-value pairs are redistributed across the new set of shards dynamically, without requiring a system shutdown and restart. A shard is made up of a single electable master node to serve read and write requests, and several replicas (usually two or more) that can serve read requests. Replicas are kept up to date using streaming replication. Each change on the master node is committed locally to disk and also propagated to the replicas.


High availability and fault-tolerance

Oracle NoSQL Database provides single-master, multi-replica
database replication Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. Terminology Replication in comp ...
. Transactional data is delivered to all replica nodes with flexible durability policies per transaction. In the event the master replica node fails, a consensus-based
PAXOS Paxos ( gr, Παξός) is a Greek island in the Ionian Sea, lying just south of Corfu. As a group with the nearby island of Antipaxos and adjoining islets, it is also called by the plural form Paxi or Paxoi ( gr, Παξοί, pronounced in Engl ...
-based automated fail-over election process minimizes downtime. As soon as the failed node is repaired, it rejoins the shard, updated and then becomes available for processing read requests. Thus, Oracle NoSQL Database applications can tolerate failures of nodes within a shard and also multiple failures of nodes in distinct shards. Proper placement of masters and replicas on server hardware (racks and interconnect switches) by Oracle NoSQL Database is intended to increase availability on commodity servers.


Transparent load balancing

Oracle NoSQL Database Driver partitions the data in real time and evenly distributes it across the storage nodes. It is network topology and latency-aware, routing read and write operations to the most appropriate storage node in order to optimize load distribution and performance.


Administration and system monitoring

Oracle NoSQL Database's administration service can be accessed from a command-line interface. This service supports functionality such as the ability to configure, start, stop and monitor a storage node, without requiring configuration files, shell scripts, or explicit database operations. It allows Java Management Extensions (JMX) or
Simple Network Management Protocol Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically ...
(SNMP) agents to be available for monitoring. This allows management clients to poll information about the status, performance metrics and operational parameters of a storage node and its managed services.


Elastic configuration

"Elasticity" refers to dynamic online expansion of the deployed cluster. Adding storage nodes increases capacity, performance and reliability. Oracle NoSQL Database includes a topology planning feature, with which an administrator can modify the configuration of a NoSQL database while the database is online. The administrator can: *Increase data distribution: by increasing number of shards in the cluster, which increases write throughput. *Increase replication factor: by assigning additional replication nodes to each shard, which increases read throughput and system availability. *Rebalance data store: by modifying the capacity of storage nodes, the system can be rebalanced, re-allocating replication nodes to storage nodes as appropriate. Administrators can move replication nodes and/or partitions from over-utilized nodes onto underutilized storage nodes or vice versa.


Multi-Region Table

Oracle NoSQL Database multi-region, active-active architecture enables the creation of Multi-Region Tables in geographically distributed NoSQL clusters, maintaining consistent data across. A Multi-Region Table is a global, logical table that is deployed and maintained in different regions. It is a read-anywhere and write-anywhere table that lives in multiple regions. All Multi-Region Tables deployed in different regions are synchronized via NoSQL Streams. Each region’s NoSQL cluster may have a different topology, different hardware configuration, different operations, and security management. Multi-Region Tables support CRDT in JSON document and fixed-schema data models for conflict-free data replication across regions.


Multi-zone deployment

Oracle NoSQL Database supports multiple zones to intelligently allocate replication of processes and data, in order to improve reliability during hardware, network and power-related failure modes. The two types of zones are: primary zones that contain nodes that can serve as masters or replicas and are typically connected by fast interconnects. Secondary zones contain nodes that can only serve as replicas. Secondary zones can be used to provide low latency read access to data at a distant location, or to offload read-only workloads such as analytics, report generation and data exchange for improved workload management.


JSON data format

Oracle NoSQL Database supports Avro data serialization, which provides a compact, schema-based binary data format. Schemas are defined using JSON. Oracle NoSQL Database supports schema evolution. Configurable Smart Topology System administrators indicate how much capacity is available on a given storage node, allowing more capable nodes to host multiple replication nodes. Once the system knows about the capacity for the storage nodes in a configuration, it automatically allocates replication nodes intelligently. This is intended for better load balancing, better use of system resources and minimizing system impact in the event of storage node failure. Smart Topology supports
data centers A data center (American English) or data centre (British English)See spelling differences. is a building, a dedicated space within a building, or a group of buildings used to house computer systems and associated components, such as telecommun ...
, ensuring that a full set of replicas is initially allocated to each data center.


Online rolling upgrade

Oracle NoSQL Database provides facilities to perform a rolling upgrade, allowing a system administrator to upgrade cluster nodes while the database remains available.


Fault tolerance

Oracle NoSQL Database is configurable to be either C/P or A/P in
CAP A cap is a flat headgear, usually with a visor. Caps have crowns that fit very close to the head. They made their first appearance as early as 3200 BC. Caps typically have a visor, or no brim at all. They are popular in casual and informal se ...
. In particular, if writes are configured to be performed synchronously to all replicas, it is C/P in CAP i.e. a partition or node failure causes the system to be unavailable for writes. If replication is performed asynchronously, and reads are configured to be served from any replica, it is A/P in CAP i.e. the system is always available, but there is no guarantee of consistency.


Database features


Table data model

A NoSQL table is a collection of record items with the same record type in a fixed schema data model, resembling the relational tables in RDBMS. Records are layered on top of the distributed key-value structure, inheriting all its advantages and simplifying application design by enabling seamless integration with familiar SQL-based applications.


Native JSON Data Type

JSON data type stores schemaless data that does not conform to a rigid structure. Oracle NoSQL Database stores JSON documents in an internal binary (optimized) format that allows quick read access. Indexes can be created on any JSON object, including the deeply nested objects, to efficiently search and access the document.


Secondary index

Secondary indexes offer an alternative way of retrieving table rows besides using primary keys. By creating a secondary index, queries can retrieve rows with different primary keys but share other characteristics. Oracle NoSQL Database supports rich secondary indexing capabilities, including indexing deeply nested arrays and maps, dramatically improve performance for queries.


Large object support

Oracle NoSQL Database EE Stream based APIs allow reading and writing large objects (LOBs) such as audio and video files, without having to materialize the entire file in memory. This is intended to decrease the latency of operations across mixed workloads of objects of varying sizes.


SQL for NoSQL

Developers can use the SQL-like interface to perform CRUD operations from a command-line interface, scripts, or SDKs. The interface supports flat relational data, hierarchical typed (schema-full) data, and schemaless JSON documents, handling multiple data models seamlessly. The SQL Path Expression enables navigating inside complex data structures and selecting their nested values using different step operations.


Partial JSON Document Update

Developers can update (change, add, remove) a part of the JSON document. Such an update happens on the server side, eliminating the need for the read-modify-write cycle, which is atomic and thread-safe.


GeoJSON Support

Data can be stored in GeoJSON format to represent geographical features, properties, and boundaries. Geometry types supported are Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection. Search functions support queries on geographical data that have a relationship based on a specific geometry. Indexes can be created for optimal search performance.


ACID compliant transaction

Oracle NoSQL Database provides ACID compliant transactions for full create, read, update and delete (CRUD) operations, with adjustable durability and consistency transaction guarantees. A sequence of operations can operate as a single atomic unit as long as all the affected records share the same major key path.


Hierarchical Tables

The NoSQL table hierarchy organizes tables in a parent-child relationship for storage efficiency in write-heavy workloads and fine-grained table access for security. It also enables joining the parent-child tables using the NESTED TABLES clause and LEFT OUTER JOIN clause. LEFT OUTER JOIN closely resembles the semantics used in relational database queries. Oracle NoSQL 6 Data Sheet / Oracle NoSQL Database supports table hierarchy deployment in Multi-Region tables, ushering in a new application development paradigm.


Simple and Easy to Use APIs in Multiple Programming Languages

Oracle NoSQL Database provides Java, Python, Node.js, Go, C, C#, and Spring Data drivers that allow developers to choose the right interface for their application development.


Oracle RESTful Services

Oracle NoSQL Database supports Oracle REST Data Services (ORDS). This allows customers to build a REST-based application that can access data in either Oracle Database or Oracle NoSQL Database.


Apache Hadoop

''KVAvroInputFormat'' and ''KVInputFormat'' classes are available to read data from OND natively into Hadoop MapReduce jobs. One use for this class is to read NoSQL database records into Oracle Loader for Hadoop.


Oracle integration


Oracle Big Data SQL and Hive

Oracle Big Data SQL is a common SQL access layer to data stored in
Hadoop Apache Hadoop () is a collection of open-source software utilities that facilitates using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage an ...
, HDFS,
Hive A hive may refer to a beehive, an enclosed structure in which some honey bee species live and raise their young. Hive or hives may also refer to: Arts * ''Hive'' (game), an abstract-strategy board game published in 2001 * "Hive" (song), a 201 ...
and Oracle NoSQL Database. This allows customers to query Oracle NoSQL Data from Hive or Oracle Database. Users can run
MapReduce MapReduce is a programming model and an associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster. A MapReduce program is composed of a ''map'' procedure, which performs filtering ...
jobs against data stored in Oracle NoSQL Database that is configured for secure access. The latest release also supports both primitive and complex data types.


Oracle Database

Oracle NoSQL Database EE supports external table allows fetching Oracle NoSQL data from Oracle database using SQL statements such as Select, Select Count(*) etc. Once NoSQL data is exposed through external tables, one can access the data via standard JDBC drivers and/or visualize it through enterprise business intelligence tools.


Other Oracle products

Oracle Event Processing (OEP) provides read access to Oracle NoSQL Database via the NoSQL Database cartridge. Once the cartridge is configured, CQL queries can be used. Oracle Semantic Graph includes a Jena Adapter for Oracle NoSQL Database to store large volumes of RDF data (as triplets/quadruplets). This adapter enables fast access to graph data stored in Oracle NoSQL Database via
SPARQL SPARQL (pronounced " sparkle" , a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description ...
queries. Integration with
Oracle Coherence In computing, Oracle Coherence (originally Tangosol Coherence) is a Java-based distributed cache and in-memory data grid. It is claimed to be "intended for systems that require high availability, high scalability and low latency, particularly in ...
allows Oracle NoSQL Database to be used as a cache for
Oracle Coherence In computing, Oracle Coherence (originally Tangosol Coherence) is a Java-based distributed cache and in-memory data grid. It is claimed to be "intended for systems that require high availability, high scalability and low latency, particularly in ...
applications, allowing applications to directly access cached data from Oracle NoSQL Database.


Enterprise security

Oracle NoSQL Database EE supports OS-independent, cluster-wide password-based user authentication and Oracle Wallet integration and enables greater protection from unauthorized access to sensitive data. Additionally, session-level
Secure Sockets Layer Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
(SSL) encryption and network port restrictions improve protection from network intrusion.


Release Updates

OND Version 4.0 – New Features: * Full text search – Elastic Search. * Time-To-Live – efficient aging out of “expired” data – a common IoT requirement. * SQL Query – Declarative query language. * Predicate Pushdown – ability to process predicates from Big Data SQL in NoSQL Database nodes without passing data that fails the predicate for improved performance and scalability. * Import/Export – Easy to backup/restore data or move data between Oracle NoSQL Database stores.


Performance

The Oracle NoSQL Database team has worked with several key Oracle partners, including
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
and
Cisco Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, ...
, performing Yahoo! Cloud Serving Benchmarks (YCSB) on various hardware configurations, and published its results. For example, in 2012 Oracle reported that Oracle NoSQL Database exceeded 1 million mixed YCSB Ops/Sec."Oracle NoSQL Database Exceeds 1 Million Mixed YCSB Ops/Sec"


See also

*
Database scalability Database scalability is the ability of a database to handle changing demands by adding/removing resources. Databases use a host of techniques to cope. History The initial history of database scalability was to provide service on ever smaller comp ...


References

{{Oracle FOSS Oracle software NoSQL Database-related software for Linux Big data products Key-value databases Software using the GNU AGPL license