0
2.7kviews
Write NoSQL case studies.
1 Answer
0
158views


NoSQL :-

NoSQL (Not only Structured Query Language) is a term used to describe those data stores that are applied to unstructured data. As we know, HBase is such a tool that is ideal for storing key/values in column families. In general, the power of NoSQL data stores is that as the size of the data grows, the implemented solution can scale by simply adding additional machines to the distributed system.


Let's see Four major categories of NoSQL tools and a few examples.

  • Key/value stores contain data (the value) that can be simply accessed by a given identifier (the key). As we know in the MapReduce, the values can be complex. In a key/value store, there is no stored structure of how to use the data; the client that reads and writes to a key/value store needs to maintain and utilize the logic of how to meaningfully extract the useful elements from the key and the value. Here are some uses for key/value stores:

    • Using a customer's login ID as the key, the value contains the customer's preferences.

    • Using a web session ID as the key, the value contains everything that was captured during the session.


  • Document stores are useful when the value of the key/value pair is a file and the file itself is self describing (for example, JSON or XML). The underlying structure of the documents can be used to query and customize the display of the documents' content. Because the document is self-describing, the document store can provide additional functionality over a key/value store. For example, a document store may provide the ability to create indexes to speed the searching of the documents. Otherwise, every document in the data store would have to be examined. Document stores may be useful for the following:

    • Content management of web pages
    • Web analytics of stored log data


  • Column family stores are useful for sparse datasets, records with thousands of columns but only a few columns have entries. The key/value concept still applies, but in this case a key is associated with a collection of columns. In this collection, related columns are grouped into column families. For example, columns for age, gender, income, and education may be grouped into a demographic family. Column family data stores are useful in the following instances:

    • To store and render blog entries, tags, and viewers' feedback
    • To store and update various web page metrics and counters


  • Graph databases are intended for use cases such as networks, where there are items (people on page links) and relationships between these items. While it is possible to store graphs such as trees relational database, it often becomes cumbersome to navigate, scale, and add new relationships. Graph databases help to overcome these possible obstacles and can be optimized to quickly traverse a graph (move from one item in the network to another item in the network). Following are examples of graph database implementations:

    • Social networks such as Facebook and LinkedIn
    • Geospatial applications such as delivery and traffic systems to optimize the time to reach one or more destinations




Examples of NoSQL Data Stores :-

Category Data Store Website
Key / Value Redis redis.io
Voldemort www.project-voldemort.com/voldemort
Document CouchDB couchdb.apache.org
MongoDB www.mongodb.org
Column Family Cassandra cassandra.apache.org
HBase hbase.apache.org
Graph FlockDB github.com/twitter/flockdb
Neo4j www.neo4j.org
Please log in to add an answer.