No SQL (Why & What & When)

No SQL (Why & What & When)

2016-06-14. Category & Tags: NoSQL

This post extends from a summary of a video + e.g. + criteria. See here (cn) for detailed situatoins & examples regarding usecase.

Traditional Relational DBs #

Mysql, PostgreSQL, SQLite, Amazon Redshift, Amazon Aurora.

Why #

Too much data. Too expensive to store in one computer.
Need distributed DB.
However, relationship DBs (SQL) are not designed and not suitable for this situation.

What #

Thus, NoSQL occured, with several types.

key-value DB #

Memcached, Redis, Oracle NoSQL, dbm, Amazon SimpleDB, Microsoft Azure’s Table, more.
key value

column-family (column-oriented / wide-column) DBs (key-value model but with two levels of nesting) #

HBase, Cassandra (by Facebook), Google Bigtable, more.
HBase is a free and open source implementation of Google’s BigTable.
column

object-based storage devices (OSD) #

Amazon S3, Scality, Ceph, LizardFS (mooseFS), SwiftStack, IBM Spectrum Scale (a.k.a. GPFS), GlusterFS (inability to scale).
See alternatives on wiki.
See also Distributed File Systems (DFS).

document DBs (JSON, XML, etc.) #

MongoDB (BSON /ˈbiːsɒn/ format), Amazon DynamoDB, more.
Those DBs can be used for full-text DBs.
document

graph DBs #

Neo4j, more.
graph db

time series DBs #

InfluxDB, RRDtool, more.

search engines #

Elasticsearch, Amazon CloudSearch, more.

other types no-SQL DB #

See more categories on DB Engines ranking.
Also: wikipedia NoSQL

When #

situation 1: too much data #

situation 2: rapid changed development #

when to use nosql

Criteria for Choice #

See techtarget article.

Trend #

See also top DB and their trend.

Ref’s #

Examples come from kdnuggets & the above techtarget article.
graph database (Chinese)