CALL NOW: 0703 180 5732

                         Home || Services || Oracle DBA Mentoring ||Remote Support || Contact Us

 
 
Voyage into Nosql

What to do when you have scalability issues and
You need to handle data whose schema is flexible and it keeps on changing ?
Understanding 4 nosql models




What to do when you have scalability issues and
you need to handle data whose schema is flexible and it keeps on changing ?

If the number of users increase even when you have a orale Rac solution the cost increases on licensing etc..
Rdbms is not made to handle non structured data .

This is where nosql comes into picture
No sql means not only sql. RDBMS application is good for handling transaction
NoSQL database are mostly open source.
Nosql is a generic term.
Nosql can handle huge database case it uses a distributed database.
It uses a concenpt of sharding .
Some data can exist in one server while other data in other server.

in Oracle rac even if we have 2 nodes the database is stored in one storage area network.
Storage area network is coslty compared to nosql wheere database can reside on mutliple machines and different hard disk.

Let us understand different Nosql database model

There are Four types of no sql database models

Key value
It has big hash table of keys and values
In SQL terms, a NoSQL database is a single table with two columns:
one being the (Primary) Key, and the other being the Value.
And that's it, that's all the NoSQL magic.
Example Riak,Amazon S3,Dynamo,Oracle Nosql

Column STORES

Column stores seem to store data in related rows, but they actually serialize the
data into columns.
With a row based database you would have:
ID,firstname, lastname, websitename
1:bart, loews, quora
2:jim, finnegan, beginagain
3:don, quixote, windmill
The column store stores columns together, like this:
1:bart,2:jim,3:don
1:loews,2:finnegan,3:quixote
1:quora,2:beginagain,3:windmill
This allows for much faster querying and processing of data while storing data
that's somewhat related (druid boasts billions of records per second).
These are used in a lot of high powered big-data analysis where speed is critical.
(Cassandra, Google's BigTable, Druid)

Document Based Mongo Db is example of Document based nosql
Document Stores store data in "documents", typically XML or JSON documents. They're
typically schemaless, so each document can contain any data that you want them to
have and you can change it on the fly. Documents contain key value pairs, which can
be any sort of value, array, or even another document. For example:
{
FirstName: "Bart",
LastName: "Loews",
Children: [ {
FirstName:"Tadd",
Age: 4},
{
FirstName:"Todd",
Age:4}
],
Age: 35,
Address:{
number:1234,
street: "Fake road",
City: "Fake City",
state: "VA",
Country: "USA"
}
}
Document stores allow you to play with your data and store it however you see fit.
They have fast writing, good query times based on indexing, but the main advantage
is the schema flexibility and nestibility.
You could see these being used for pretty much any thing, some vendors will let you
perform relational joins between documents, but generally, for the best flexibility
you'll have to build in any join logic into your application.
Some examples include: MongoDB, OrientDB, CouchDB, Azure's DocumentDB, AWS DynamoDB,
RethinkDB.

Graph Based
Neo4j is a example of graph based database.
What happenes is here entities and their relationship are being maintained.
you use neo4j for application which invove fraud detection,
Graph based search
But realizing the limitations of this, in 2012 Google launched ‘Knowledge Graph’3
and in 2013
Facebook followed suit with its ‘Graph Search’ service4
, both of which provide a better way to
search data by helping users with more contextual information.
Knowledge Graph is a database that enhances Google’s search engine results with semanticsearch
information gathered from a wide variety of sources.
Likewise, Facebook’s Graph Search enables users to combine search phrases to get more
structured and more localized search results, rather than simply using standard keywords and
getting the results that match those words.
The key to their enhanced search capability is that the first search takes into account the entire
structure of connected data available. And because graph systems understand the way data is
related, they return much more precise and richer results.
Graph-based search, powered by systems like Neo4j, is able to deliver relevant information
that you may not have specifically asked for – offering a more proactive and targeted search
experience that allows you to quickly triangulate onto the data points that are of the most
interest to you.
In essence, graph-based search is intelligent: you can ask much more precise and useful
questions and get back the most relevant and meaningful information, whereas traditional
keyword-based search delivers results that are more random, diluted and lower-quality.
Graph-based search is also much quicker: you can query all of your connected data in real
time, then hone in on the answers provided and launch new real-time searches prompted by
the insights you have discovered.
It’s more of a natural ‘conversation’ with your data, rather than a series of one-off searches. It’s
search and discovery, rather than search and retrieval.

Master Data management
Graph based databae are also good in handling master data .

 

     


 
Copyright CpiSolution.com | 2007 © all rights reserved