What’s the difference between SQL and NoSQL?

 SQL databases are primarily referred to as Relational Databases (RDBMS).

NoSQL databases are primarily referred to as Non-relational or Distributed Database.


SQL

  • SQL databases are table based databases.
  • Have predefined schema.
  • Are vertically scalable.
  • Use SQL (Structured Query Language) for defining and manipulating the data. A good fit for the complex query intensive environment
  • Emphasize ACID properties (Atomicity, Consistency, Isolation and Durability)
  • Examples include: MySql, Oracle, Sqlite, Postgres and MS-SQL.

                                NoSQL

  • NoSQL databases are document based, key-value pairs, graph databases.
  • Have dynamic schema.
  • Are horizontally scalable.
  • Focused on the collection of documents.
  • Not ideal for complex queries.
  • Follow the Brewers CAP theorem (Consistency, Availability and Partition tolerance )

  • Examples include: MongoDB, BigTable, Redis, RavenDb, Cassandra, Hbase, Neo4j and CouchDb.


Diving deeper

  • Relational database: is a collective set of multiple data sets organized by tables, records and columns.
  • Document database: pairs each key with a complex data structure known as a document. Documents can contain many different key-value pairs and nested documents.



  • Key-value database: are the simplest NoSQL databases. Every single item in the database is stored as an attribute name (or ‘key’), together with its value.



    Post a Comment

    0 Comments

    Advertisment

    Ad Code