The Eleventh Lab

NoSQL Databases

Novy 13, 2015

(I) NoSQL Database

  •        1) What is NoSQL Database?
                    Non-Relational Database
                    Relational Database or NoSQL Database
                    SQL is a standard query language for relational databases
                    There is no standard query language for NoSQL databases
  •        2) Why we need NoSQL?
                    a) Simple Design
                    b) Flexible Design
                    c) Distributed Design (Scale Horizontally)
                            Scale Out / Scale Up
                    d) Query Performance
  •        3) How many types of NoSQL?
                    a) Column Store
                    b) Document Store
                    c) Graph Store
                    d) Key-Value Store
                    e) Object Store
                    f) ... Wiki and Guide
  •        4) Real NoSQL Databases:
                    a) Column Store: Vertica
                    b) Document Store: MongoDB
                    c) Graph Store: Neo4j
                    d) Key-Value Store DynamoDB


(II) Document Store

  •        1) What is XML?
                    Extensible Markup Language
                    XML Tutorial
  •        2) What is XQuery?
                    Language for querying XML data.
                    XQuery for XML / SQL for relational databases.
                    XQuery Tutorial
                    There are many implementations of XQuery
  •        3) What is JSON?
                    JavaScript Object Notation
                    Binary JSON (BSON)
                    JSON Tutorial
                    From AJAX to AJAJ
                    Java API for JSON
  •        4) MongoDB
                    Open-source Document Database
                    Most Popular Document Database
                    Use "Aggregation" and "Aggregation Pipeline" for query.


(III) Graph Database

  •        1) What is Graph?
                    Graph is an abstract data type
                    Social Network, Transportation Network, Communication Network, etc.
  •        2) Neo4j
                    Open-source Graph Database
                    Most Popular Graph Database
                    Use "Cypher Query Language" for query.