Relational databases are manipulated with SQL (Structured Query Language), while NoSQL databases (Not Only SQL) are characterized by a logic of non-relational data representation and do not (or rarely) offer query interface in SQL.
Some differences :
– Structure: In a relational database, the data schema (tables, keys, procedures, …) must be designed to be able to manipulate data. With NoSQL, data can be added anywhere and at any time (in most cases).
– SQL normalization / NoSQL denormalization: In SQL, the data are not duplicated and are linked together by foreign keys. In NoSQL, they can be duplicated and copied into several different records.
– Join: SQL queries allow the JOIN clause. NoSQL generally has no joins.
– Scalability: Following an increase in load, relational side, it is often chosen to increase the size of the server rather than putting clusters on the instances. With NoSQL, data organization allows partitioning and scaling up of the database on current deployed hardware.
Their common point: dbSQWare!