65.9K
CodeProject is changing. Read more.
Home

Working with NoSQL Databases

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (8 votes)

Oct 11, 2013

CPOL

1 min read

viewsIcon

49083

This article explains how to work with NoSQL databases, why to use NoSQL, what NoSQL databases are present, .NET APIs for NoSQL and Further Reading

Working with NoSQL Databases

How to get started with NoSQL?

Since 2009, NoSQL databases becomes more and more popular. But why?

  • No usage of SQL, that means
    • Less complexity
    • Better portability
    • Boundlessness
    • User-friendliness
  • Most databases are Open-Source
  • Performance
  • Scalability

Famous companies like Twitter, Facebook and Amazon are using NoSQL databases.
What sorts of NoSQL databases are used today?

  • Key-Value stores
    • Easy to implement
    • Only key-value-pairs can be stored
    • Difficult to build complex data structures
  • Column stores
    • Columns don't have to be defined in advance.
    • A row can have different numbers of cells
  • Document stores
    • Like key-value stores, but allows nested values
  • Graph databases
    • Objects and relationships are modelled and persisted as nodes and edges of a graph

What NoSQL databases are present today?

  • Cassandra
    • Data Model: Columnfamily
    • Query API: Thrift
  • CouchDB
    • Data Model: Document
    • Query API: map/reduce views
  • HBase
    • Data Model: Columnfamily
    • Query API: Thrift, REST
  • MongoDB
    • Data Model: Document
    • Query API: Cursor
  • Neo4j
    • Data Model: Graph
    • Query API: Graph
  • Redis
    • Data Model: Collection
    • Query API: Collection
  • Riak
    • Data Model: Document
    • Query API: Nested hashes
  • Scalaris
    • Data Model: Key/value
    • Query API: get/put
  • Tokyo Cabinet
    • Data Model: Key/value
    • Query API: get/put
  • Voldemort
    • Data Model: Key/value
    • Query API: get/put

.NET APIs

Cassandra 

CouchDB

MongoDB

Tokyo Cabinet

Further Reading

A good introduction to the concepts of NoSQL is the paper "NoSQL Databases" from Christof Strauch. 
Also read the "Scalable SQL and NoSQL Data Stores" from Rick Cattell.