With Oracle diving in to
the noSQL type of Databases, buzz for these kind of databases have increased.
Oracle Corporation has announced that it is going to launch its noSQL Database
soon. The website of ORACLE says, it would be available by mid-October for downloads as it is going to be open source.
Now let me talk something
about noSQL first. noSQL can be abbreviated as "Not Only SQL". The
noSQL is a class of database management systems that have come up in recent
years that differ from typical class of RDBMSes. “noSQL” databases does not provides
joins or schemas as RDBMSes. noSQL expands horizontally whereas RDBMSes expands
vertically.
A broad range of services
over Internet are using noSQL databases. Netflix, digg, Linkedin,Facebook etc
are some of the big examples that have adopted noSQL as their choice of DB.
There was buzz that Wikipedia should also use this kind of DB because it has a
vast amount of data and this is the best solution for that range of data.
noSQL is a collection of
key-value. This can be implemented using any programming language as Key-Value
stores allow the application to store its data in schema-less way. The data can
be stored in a data-type or object of any programming language. This also does
not require any particular data-model.
Now, lets come to big
question. Why to use noSQL databases
instead of SQL databases?
The reason being the
volume of data that they handle. Normal SQL Databases are good up to 10 million
records and then they start become annoying. But if you have some Billion+
key-values to be stored then these kinds of databases are used. so these are
best suited for Forums, blogs, social networking website, where there is huge
amount of data and data needs to be fetched fast.
The much bigger question is Can noSQL replace SQL?
I believe this cannot
happen at any point of time in near future of 5 to 10 years. SQL databases have
their own importance in the IT industry. They are reliable, much more stable
and are suitable to needs of the customers (most of them). Although both these
target different solutions to different problems.
But the noSQL databases
can be in conjunction with RDBMS databases. The data like (username, Order,
Money) can be stored in RDBMS where as the application data, social network
data, video data can be stored in noSQL databases(as these require performace).
Some of the most popular
noSQL DBs are as follows:
- MangoDB
- BigTable
- Apache Cassandra
- Neo4J
- MarkLogic
- Exist
- Hbase
- db4o
The list may go on, but
these are what most widely used...!!
The Feature set of noSQL
as mentioned by Oracle are as follows:
·
Simple Data Model
- Key-value pair data structure, keys are composed of Major & Minor keys
- Easy-to-use Java API with simple Put, Delete and Get operations
·
Scalability
- Automatic, hash-function based data partitioning and distribution
- Intelligent NoSQL Database driver is topology and latency aware, providing optimal data access
·
Predictable behavior
- ACID transactions, configurable globally and per operation
- Bounded latency via B-tree caching and efficient query dispatching
·
High Availability
- No single point of failure
- Built-in, configurable replication
- Resilient to single and multi-storage node failure
- Disaster recovery via data center replication
·
Easy Administration
- Web console or command line interface
- System and node management
- Shows system topology, status, current load, trailing and average latency, events and alerts.
No comments:
Post a Comment