Database definition

What is Oracle NoSQL Database?

Oracle NoSQL Database is a non-relational, horizontally scalable key-value database with several higher-level data abstractions that support data management in the form of binary key-value pairs, JSON objects, and SQL-type tables.

In general, NoSQL describes an approach to database design that relies on a document store, column store, chart format, or in the case of Oracle NoSQL Database, a key-value store for data . Meaning Not Only Structured Query Language, NoSQL databases do not adhere to relational SQL (Structured Query Language) methods of database design, which rely on predetermined tables and data schemas.

Key uses and features

Oracle NoSQL Database is commonly used for high throughput event processing, click-through data processing, customer data management, sensor data capture, authentication, content management, archiving data and many other use cases.

Some key features of Oracle NoSQL Database include the ability to dynamically partition and distribute data, automatic query load balancing, and high availability. The simple key-value data model uses C and Java APIs, JSON schemas, and ACID transactions.

One of the features of Oracle NoSQL Database version 18 includes parent-child join — support for tables belonging to the same hierarchy. Parent-child joins are performed as parallel scans on each shard, increasing query performance. If the target table has indexed columns, the index can be used in the query.

Additionally, Oracle NoSQL Database’s aggregate functions are able to iterate over rows, evaluate expressions for each row, and aggregate the returned values ​​into a single value. The zone affinity feature allows administrators to place master nodes of a key-value store in primary zones that are in network proximity to user applications. Primary affinity zones are assigned to primary zones selected by administrators. The master nodes are then distributed among the primary zones. If a primary affinity zone is down, the primary nodes are redistributed.

Oracle NoSQL Database also offers Secure Full Text Search, which combines the TABLE interface with ElasticSearch, providing a natural language document search method through a query. ElasticSearch operates as a remote service that manages text indexes hosted on other nodes.

Oracle NoSQL Database Enterprise Edition is available through a commercial license. There is also Oracle NoSQL Database Community Edition (CE), licensed under the Apache 2.0 License (Apache 2.0). Additionally, in 2018 Oracle launched the Autonomous NoSQL Database, one of its new “autonomous” cloud database offerings.

Oracle NoSQL Database Design

Oracle released its first iteration of NoSQL in October 2011 as part of its Big Data strategy. Oracle NoSQL is part of Oracle’s Big Data Appliance, a converged infrastructure machine that includes server hardware, software from Cloudera – including Apache Hadoop – and an open source distribution of the R programming language.

Oracle NoSQL database is a distributed database, with a configurable set of systems that function as storage nodes. Data is stored as key-value pairs, which are written to storage nodes based on the hash value of the key. Storage nodes are then replicated across the appliance to help optimize query load balancing and provide fast failover when an individual node is down.

Users can write applications for Oracle NoSQL database using Java/C API to read and write data. Client applications interact with the Oracle NoSQL database key-value store with the Oracle NoSQL driver, which connects to the application as a Java library (.jar) file and is accessible to the user. using a series of Java APIs. This allows data to be accessed through the node for the requested key.

Cluster administration is done through a web console or command-line interface.

With its non-relational design, Oracle NoSQL Database fits well with modern applications that require flexible and scalable databases. For example, Amazon Web Services (AWS) platforms such as Amazon DynamoDB support Oracle NoSQL Database for users who need a serverless NoSQL database to deliver single-digit latency at scale.

Oracle NoSQL Database vs Cassandra

Cassandra is an open-source distributed database designed to handle large structured data across many commodity servers. Cassandra supports a single-valued abstraction called a table structure by configuring nodes on a ring architecture where each node in the system can handle any read-write request. Cassandra supports an SQL-like query language called CQL (Cassandra Query Language) and can be integrated with Hadoop or MapReduce.

Cassandra and Oracle NoSQL support C#, C++, Java, JavaScript, Python, Ruby, Scala, and other programming languages. Cassandra does not include in-memory features, unlike Oracle NoSQL.

The biggest difference between Oracle NoSQL and Cassandra is in their query languages. Users can interact with Cassandra through CQL or by using the CQL shell. Users can create keyspaces (or keyspaces) and tables with the CQL shell. Oracle NoSQL database supports SQL and can be accessed from Oracle relational databases or Hive using SQL queries.

Oracle NoSQL Database is a horizontally scalable key-value database.

Oracle NoSQL Database vs HBase

Apache HBase is a column-oriented key-value data store designed to run on top of the Hadoop Distributed File System (HDFS). HBase and Oracle NoSQL support C, C#, C++, Java, Python, and Scala. Hadoop also supports Groovy and PHP. Oracle NoSQL supports JavaScript and Ruby. Hadoop works with Linux, Unix, and Windows operating systems; Oracle NoSQL works with Solaris SPARC and x86 in addition to Linux. Both systems are schemaless.

Oracle NoSQL Database vs. Hadoop

While the two HadoopName and Oracle NoSQL Database handle Big Data, the two platforms serve different purposes.

Hadoop is a processing framework designed to perform batch queries and read operations on large datasets. Hadoop does not support basic functions, such as indexing or SQL interface.

Oracle NoSQL Database and Hadoop are compatible in environments where large server farms need to collect data that requires more sophisticated analysis.