Breaking News

NoSQL: GraphDB , Document DB, Key Value DB,and Column Family DB


What's the NoSQL DB and why they became a need?

I have tried from months ago to understand what is the NoSQL db is, and why they are come in this post

http://muhammadhamed.blogspot.com/2011/04/nosqldb.html

And What I realized that there are a need to scale you application for multiple - at the same time millions- users which the current relational database cannot cope with. Also this become a need due to what we called Elastic computing which is could be provided by any Cloud computing provider. By the way Elastic means you can start small and scale at any time.

After googling and reading about the NoSQL databases I found that the most famous categories are:


  • Document Databases: This type of databases is just composed of a document, LikeJSON or BSON documents and in this type of document the transactions will be in a document.
          Example: MongoDB, CouchDB.

          Here an example of JSON object (MongoDB)
          
           Person{
              Name:"Ali",
              Age: 18,
              School_id: 1027
          }
  • Key values: in this type of databases simple like the hash tables (Key, value) this type is very simple and can hold large data size. the transaction will be in the (Key, value) pair.
          Example: Riak, Tokyo, and Voldmort.
  • Columns families: In this type of databases a collection of Key(columns) and value pairs called a row. the transaction will be on row.

    Example: HBase, HyperTable, and Cassandra.
          

  • Graph databases: This type of databases is an implementation of what we call it "Graph theory " never mind I'll highlight it if you do not know.The transaction here me be on node ,Edge or both.

    Example: Neo4J, AllegroGraph, and CloudGraph.

    Simply the core abstraction of the graph is
    *) Node <Circles>.   *) Arcs <arrows>.  *) properties on both Nodes and Arcs.
                              
See this diagram depicts "Scaling to size vs. Scaling to Complexity" (For more on "Scaling to size vs. Scaling to Complexity" see Emil Eifrem's blog post.)



I hope this cloud help you.

in the next parts I'll present to you when to use each one? and how they could be used to solve a real business problems?
Thanks,
Muhammad Hamed


Yours Moataz Muhammed

No comments