Personal Notes On NoSQLs [Unofficial]

A Comparison of 7 different NoSQL Databases

Notable Features of 7 different NoSQL Databases

  • Data Model
  • Query Model
    • REST interface

Database Design

  • Infrastructure, Storage, In-Memory
  • Distributed: Storage, In-Memory, Query

  1. Indexing
  2. Replication

OLAP, Data Warehouse

Semantic Web

MySQL Cluster, Sharded MySQL

  • Key-value Stores
    • Redis 
      • In-memory, Syncs with storage
      • Fast
      • Key-value; Data Structure Server – list, hash, set, sorted set; Set operations
      • Message Queue, Publish-subscribe, Cache,
    • Riak 
      • Amazon Dynamo
      • Key-value, buckets, links, tag
      • Fault-tolerant
      • HTTP REST interface
      • Mapreduce
      • Full text search
  • Graph Databases
    • Neo4j 
      • Graph
      • Master-slave replication
    • Graph Database distinctive features 
      • Freebase: Supports meta-query (Querying data about their types and properties)
      • Queries containing Complex relationships
  • Document oriented Databases
    • Mongodb 
      • Document-oriented; Documents, Collections
    • Couchdb
      • JSON and REST-based document oriented database
  • Column Oriented Databases
    • Google Big table 
    • Cassandra
      • Distributed
      • Dynamo + column-family
    • HBase 
      • Bigtable; table – map of maps; rows, keys, columns, column families, values
      • Versioning, compression, garbage collection (for expired data), and in-memory tables
      • Hadoop
      • Online analytical processing, Big Data
      • Fault-tolerant
  1. Row oriented Databases:
  2. Column oriented databases:

  • OLAP 
    • Measures 
    • Dimensions

References