Developers: | Oracle |
Last Release Date: | October, 2011 |
Technology: | DBMS |
Content |
NoSQL (engl. not only SQL, not only SQL), in information science — the term designating a number of approaches, the projects directed to implementation of models of the databases having essential differences from used in traditional relational DBMS with data access means of the SQL language. The description of the data scheme in case of use of NoSQL-solutions can be performed through use of different data structures: hash tables, trees and others.
The main idea when developing this kind of systems — providing more flexible means to developers on modification of the data scheme at an operational phase, failure from transaction control for benefit of more natural support of distributed computing.
NoSQL vs SQL
With supporters of the concept of NoSQL it is emphasized that it is not complete negation of the SQL language and a relational model, the project recognizes that SQL is important and very useful tool, but at the same time it cannot be considered as universal [the source is not specified 109 days]. One of problems which is specified for classical relational DB are problems during the work with data of very large volume and in projects with a high load. The main objective of approach — to expand possibilities of a DB where SQL is insufficiently flexible, and not to force out it where he copes with the tasks.
Methodology
The website nosql-database.org claims that the following is the cornerstone of the idea of NoSQL:
- Not relational data model
- Open source code
- Good horizontal scalability.
As one of methodological justifications of approach of NoSQL the heuristic principle known as the theorem of CAP, claiming that in distributed system it is impossible to provide at the same time coordination of data, availability (engl. availability, in sense correctness of a response on any request) and resistance to splitting of distributed system on the isolated parts is used. Thus, in need of achievement of high availability and resistance to separation it is supposed not to be focused on means of ensuring of coordination of the data provided traditional SQL focused by DBMS with transaction mechanisms on the principles of ACID.
The flexibility of schemes in the NoSQL platform allows corporate customers to add and use new attributes of data at prime necessity. It is a big step forward in comparison with traditional relational DBMS which need to be checked at each change in a data structure.
To the modern dynamic enterprises, including the large companies of e-commerce and social networks, the NoSQL platform will become the excellent solution. For example, the Facebook network uses the open product Cassandra which represents the transaction database on the NoSQL platform. The Cassandra system allows to make often changes to the scheme DB and to add new attributes for profiles and inter-user communications.
One more advantage of the Cassandra system and other open source solutions is the low cost as these solutions are initially focused on work with mass models of the equipment. The cost of solutions based on Cassandra and analogs 10 times less similar solutions on performance based on relational DBMS. At the same time, the main goal of Oracle NoSQL technology consists not in reducing costs, and in becoming the main software platform for future solution Big Data Appliance. The Big Data Appliance DBMS servers will be constructed on the equipment Sun and will become necessary addition to a series of the products Oracle Exadata. The prices of Big Data Appliance are still unknown, however, reportedly, they will be quite high that will retain the interest of customers in alternative Cassandra products, first of all, not to become the hostage of one supplier.
Implementations
Some implementations to some extent implementing the concept of NoSQL:
Pokolonochny DBMS:
Dokumento-oriyentirovannye DBMS:
Klyuch-znacheniye storages, gambling storages: