Comparing relational and NoSQL databases
Databases come in two major categories: Relational and NoSQL. These are terrible categories, but sadly it is how the world sees databases. These terms are truly awful for several reasons. First because NoSQL is a reference to being not-relational. Which means that databases are either relational or not relational. That's pretty bad taxonomy right there. But it gets worse. SQL is the structured query language commonly associated with relational databases; it was a language written for querying relational databases. So, the term NoSQL refers to non-relational databases, but that's like trying to refer to people who aren't from England by calling them non-English speakers. The two can overlap, but often do not.
SQL is not some intrinsic language of relations; it is just a common convention used to query them. You can make a relational database that cannot use SQL language queries and just as easily you can make a non-relational...