NOSQL Course

Introduction

NoSQL stands for NotOnlySQL (or non-SQL). They are not "forbidding" you to use relational databases, but they are saying that relational databases aren't the only kind of databases. NoSQL databases became quite popular around 2010 (while they exist since 1960), and they are used by a lot of actors like Google, Microsoft, Facebook, or Twitter.

NoSQL databases are great when there is a great amount of unstructured (or semi-structured) data. It means that you can add/remove fields, so you can have two "users" having different fields. This is allowing you to add fields when they are needed, and increase performances.

We got 4 majors kinds of NoSQL databases models/stores

  • Key-value: a key-value system
  • Document: data stored as documents
  • Columnar: using a key-column system, with "column" a bunch of values
  • Graph: nodes and edges

Note: Since 2019, the GQL (Graph Query Language) may become the database query language for Graph databases (GDB) like the SQL for relational databases, but it seems they are still working on it.


Cypher

  • Needs register πŸ™„
  • Cloud (free version available) or local database
  • Open-source ✨
  • The syntax looks like SQL
  • easy to learn
  • easy to make a "mistake", I mean a working query that is in fact not doing what you want πŸ™„πŸ€š

MongoDB

  • No register πŸš€
  • Cloud (free version available) or local database
  • Open-source ✨
  • JSON πŸ‘
  • Almost no syntax πŸ“š
  • Hard to reference something πŸ™„ (No relationships/edges/...)

Sources