Oracle NoSQL Database
|Initial release||Sept 2011|
|Stable release||126.96.36.199.4 / 6 May 2015|
|License||Affero General Public License version 3 (the "AGPL")|
|Website||Oracle NoSQL Database|
The Oracle NoSQL Database (ONDB) is a NoSQL-type distributed key-value database  by Oracle Corporation. Oracle NoSQL Database leverages the Oracle Berkeley DB Java Edition High Availability storage engine to provide distributed, highly-available key/value storage for large-volume, latency-sensitive applications or web services. It can also provide fast, reliable, distributed storage to applications that need to integrate with ETL processing.
Oracle NoSQL database has been recognized as one of the leaders  in the key-value NoSQL product category by Forrester Research making it an excellent choice for enterprise-grade, mission-critical NoSQL applications
Licensing and support
Oracle NoSQL Database has two editions :
- Oracle NoSQL Database Server Community Edition
- Oracle NoSQL Enterprise Edition
Oracle NoSQL Database Drivers
The Oracle NoSQL Database Driver  are licensed pursuant to the Apache 2.0 License (Apached 2.0) and used with both the community and enterprise editions. Following drivers are supported for Oracle NoSQL Database :
- Java Driver
- C Driver
- Python Driver
- Architecture 
Oracle NoSQL Database is built upon the Oracle Berkeley DB Java Edition high-availability storage engine, which is in widespread use in enterprises across industries. In addition to that it adds a layer of services for use in distributed environments to provide a distributed, highly available key/value storage that is well suited to large-volume, latency-sensitive applications.
- High Availability and No-Single Point of Failure 
Oracle NoSQL Database provides single-master,multi-replica database replication. Transactional data is delivered to all replica nodes with flexible durability policies per transaction. In the event the master replica node fails, a consenus based PAXOS -based automated fail-over election process minimizes downtime. This allows for scalability, fail-over, and hot-standby.
- 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
- JSON Data Format
Oracle NoSQL Database has support for the Avro  data serialization, which provides an extremely compact, schema-based binary data format. Avro allows you to define a schema (using JSON) for the data contained in a record's value and it also supports schema evolution. Configurable Smart Topology System administrators indicate how much capacity is available on a given storage node,allowing more capable storage 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 results better load balancing for the system, better use of system resources and minimizing system impact in the event of storage node failure. Smart Topology also supports Data Centers, ensuring that a full set of replicas is initially allocated to each data center.
- Elastic Configuration 
Elasticity refers to dynamic online expansion of the deployed cluster. One can add more storage nodes to increase the capacity, performance, reliability, or all of the above Oracle NoSQL Database includes a topology planning feature, with which an administrator can now modify the configuration of a NoSQL database, while the database is still online. This allows the administrator to:
- 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 a storage node(s), the system can be rebalanced, re-allocating replication nodes to the available storage nodes, as appropriate.
The topology rebalance command allows the administator to move replication nodes and/or partitions from over utilized nodes onto underutilized storage nodes or vice versa
- Administration and System Monitoring 
Oracle NoSQL Database provides an administration service, which can be accessed either from a web console or a command-line interface (CLI). This service supports core functionality such as the ability to configure, start, stop and monitor a storage node, without requiring manual effort with configuration files, shell scripts, or explicit database operations. In addition it also allows Java Management Extensions (JMX) or Simple Network Management Protocol (SNMP) agents to be available for monitoring. This allows management clients to poll information about the status, performance metrics and operational parameters of the storage node and its managed services.
Oracle NoSQL Database is configurable to be either C/P or A/P in CAP. 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.
- Table Data Model
Release 3.0 introduces tabular data structure, which simplifies application data modeling by leveraging existing schema design core concepts. Table model is layered on top of the distributed key-value structure, inheriting all its advantages and simplifying application design even further by enabling seamless integration with familiar SQL-based applications
- Secondary Index 
Primary key only based indexing limits number of low latency access paths. Sometime application needs a few non-primary-key based paths to support the whole solution for the real-time system. Being able to define secondary index on any value field dramatically improves performance for queries.
- APIs 
Oracle NoSQL Database includes Java and C APIs. These simple APIs allow the application developer to perform CRUD operations on Oracle NoSQL Database. These libraries also include Avro support, so that developers can serialize key-value records and de-serialize keyvalue records interchangeably between C and Java applications.
- Large Object Support 
Stream based APIs are provided in the product to read and write Large Objects (LOBs) such as audio and video files, without having to materialize the value in its entirety in memory. This permits low latency operations across mixed workloads of objects of varying sizes.
- Apache Hadoop Integration 
KVAvroInputFormat and KVInputFormat  classes are available to read data from Oracle NoSQL Database natively into Hadoop Map/Reduce jobs. One use for this class is to read NoSQL Database records into Oracle Loader for Hadoop.
- Oracle Database Integration via External Tables (EE Only)
Support for 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.
- Integration with Other Oracle Products (EE Only)
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 to query the data.Oracle Semantic Graph has developed 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 queries. An integration with Oracle Coherence has been provided that allows Oracle NoSQL Database to be used as a cache for Oracle Coherence applications, also allowing applications to directly access cached data from Oracle NoSQL Database.
- Online Rolling Upgrade 
Upgrade and patching is an important part of any software support cycle. Oracle NoSQL Database provides facilities to perform a rolling upgrade, allowing a system administrator to upgrade all of the nodes in the NoSQL Database cluster while the database continues to remain online and available to clients.
- Multi Zone Deployment
Oracle NoSQL Database supports the definition of multiple zones from within the topology deployment planner. It leverages the definition of these zones internally to intelligently allocate replication of processes and data, ensuring optimal reliability during hardware,network & power related failure scenarios.There are two types of Zones: Primary zones contain nodes that can be served as masters or replicas and are typically connected by fast interconnects. Secondary zones contain nodes which can only be served 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, like analytics, report generation, and data exchange for improved workload management.
- Enterprise Security (EE)
OS-independent, cluster-wide password-based user authentication and Oracle Wallet integration, enables greater protection from unauthorized access to sensitive data. Additionally, session-level Secure Sockets Layer (SSL) encryption and network port restrictions deliver greater protection from network intrusion.
- AWS 
OracleNoSQL database on Amazon AWS. Refer to the Amazon AWS Marketplace for pricing details.
Performance and Benchmarking
The best way to measure the performance of any product is by running standardized benchmark tests on it with different cluster sizes and workloads. The Oracle NoSQL DB team has worked closely with several key Oracle partners, including Intel and Cisco, has done a lot of benchmark testing using Yahoo! Cloud Serving Benchmarks (YCSB) on various hardware configurations, and published its results through blogs or white papers. Oracle NoSQL Database Exceeds 1 Million Mixed YCSB Ops/Sec 
- Oracle NoSQL Database, an overview at the Oracle website
- Oracle NoSQL Database Performance Tests
- "First look: Oracle NoSQL Database", by Peter Wayner, Infoworld
- Do you know NoSQL
- Forrester Research recognizes Oracle NoSQL leader in key-value NoSQL Product Category
- Oracle NoSQL Database Drivers
- "Oracle NoSQL Database White Paper"
- Oracle NoSQL High Availability
- Intelligent Drivers
- Oracle NoSQL Avro Bindings
- Oracle Elastic NoSQL Elastic Expansion
- Storage Nodes
- Oracle NoSQL Easy Administration
- "Overview of Oracle NoSQL Database
- Oracle NoSQL Supports Secondary Indexes
- Oracle NoSQL API for Application Development
- Oracle NoSQl Apache Hadoop Integration
- Oracle NoSQL Hadoop Integration Classes
- "Oracle Semantic Graph has developed a Jena Adapter for Oracle NoSQL Database"
- Oracle NoSQL Rolling Upgrade
- "Oracle NoSQL Database 3.0 Ups security and performance
- Oracle NoSQL on Amazon AWS
- "Oracle NoSQL Benchmarking with Cisco Unified Computing and Servers (UCS)
- "Oracle NoSQL Database Exceeds 1 Million Mixed YCSB Ops/Sec"
|This database software-related article is a stub. You can help Wikipedia by expanding it.|