Oracle Joins the NoSQL Club
Oracle has announced the Big Data Appliance running with Oracle NoSQL Database, a new key-value store based on Oracle Berkeley DB Java Edition. Some of features include: billions of rows of storage capacity in records and terabytes in B-tree, ACID transactions, CRUD, sharding, no single point of failure, disaster recovery via datacenter replication.
Oracle, the standard in relational databases, published the white paper “Debunking the NoSQL Hype” in May 2011. In this paper, Oracle attempted to prove that NoSQL data stores have lots of problems including non-standard API, inefficient power consumption, feasible only for large companies such as Google, lack of security, the document concluding:
A common theme is that the NoSQL databases are currently not mature. … Compared to relational databases, their [NoSQL] feature set is primitive. The database deployments typically aren't very large in terms of data or challenging in terms of performance. Their number of deployments is relatively small. Their application development model is challenging, adding to the complexity of the implementation. Their high availability and SLAs need evaluation.
Go for the tried and true path. Don't be risking your data on NoSQL databases.
It is interesting to note that the document is no longer online on Oracle’s website, but it has been found saved elsewhere on the Internet. The reason why the document is no longer available may have to do with the announcement of the Big Data Appliance during a keynote at OpenWorld 2011, the appliance being “an engineered system optimized for acquiring, organizing and loading unstructured data”, based on the new Oracle NoSQL Database accompanied by Apache Hadoop, Oracle Data Integrator with Application Adapter for Hadoop, Oracle Loader for Hadoop, and an open source distribution of the statistical language R.
The Oracle NoSQL Database is a key-value datastore designed for high scalability and availability, and deployed on multiple replicated nodes for rapid failover and load balancing. Data is accessed via a Java API with Get, Put, and Delete operations packaged in a single JAR file. Other features include:
Written in pure Java
Capacity: billions of records and multi-terabytes of data in a B-tree storage
Automatic, hash-function based data partitioning and distribution
Full CRUD operations with adjustable durability guarantees
No single point of failure
Resiliency to single and multi-storage node failure
Disaster recovery via data center replication
Supports thousands of nodes
Backup/restore at node level
Oracle NoSQL Database, also called Oracle NoSQL Database 11g in one of the official papers (PDF) which is a bit confusing, is build upon the open source Oracle Berkeley DB Java Edition storage engine, and it is integrated with Oracle Database 11g though a Data Integrator, and with Hadoop though In-Database Map-Reduce, as depicted in the image below:
If Oracle considered relational databases could store any data in the past, now it recognizes that they are “not up to the task” when dealing with high-volume, real-time data, as they acknowledge in a more detailed and technical Oracle NoSQL Database white paper (PDF):
Analyzing high-volume, real time data, such as web-site click streams, provides significant business advantage by harnessing unstructured and semi-structured data sources to create more business value. Traditional relational databases were not up to the task, so enterprises built upon a decade of research on distributed hash tables (DHTs) and either conventional relational database systems or embedded key/value stores, such as Oracle’s Berkeley DB, to develop highly available, distributed key-value stores.
Oracle will provide full commercial support for the NoSQL Database.
Shane Hastie on Distributed Agile Teams, Product Ownership and the Agile Manifesto Translation Program
Shane Hastie Apr 17, 2015