Types
SQL : One type (SQL database) with minor variations
No SQL : Many different types including key-value stores, document databases, wide-column stores, and graph databases
Development History
SQL : Developed in 1970s to deal with first wave of data storage applications
No SQL : Developed in 2000s to deal with limitations of SQL databases, particularly concerning scale, replication and unstructured data storage
Examples
SQL : MySQL, Postgres, Oracle Database
No SQL : MongoDB, Cassandra, HBase, Neo4j
Data Storage Model
SQL : Individual records are stored as rows in tables, with each column storing a specific piece of data about that record
No SQL : Varies based on database type. For example, key-value stores function similarly to SQL databases, but have only two columns ("key" and "value"), with more complex information sometimes stored within the "value" columns. Document databases do away with the table-and-row model altogether, storing all relevant data together in single "document" in JSON, XML, or another format, which can nest values hierarchically.
Schemas
SQL : Vertically, meaning a single server must be made increasingly powerful in order to deal with increased demand.
No SQL : Horizontally,The database automatically spreads data across servers as necessary
Development Model
SQL : Mix of open-source (e.g., Postgres, MySQL) and closed source (e.g., Oracle Database)
No SQL : Open-source
Supports Transactions
SQL : Yes, updates can be configured to complete entirely or not at all
No SQL : In certain circumstances and at certain levels (e.g., document level vs. database level)
Data Manipulation
SQL : Specific language using Select, Insert, and Update statements, e.g. SELECT fields FROM table WHERE…
No SQL : Through object-oriented APIs
Consistency
SQL : Can be configured for strong consistency
No SQL : Depends on product. Some provide strong consistency (e.g., MongoDB) whereas others offer eventual consistency (e.g., Cassandra)
SQL : One type (SQL database) with minor variations
No SQL : Many different types including key-value stores, document databases, wide-column stores, and graph databases
Development History
SQL : Developed in 1970s to deal with first wave of data storage applications
No SQL : Developed in 2000s to deal with limitations of SQL databases, particularly concerning scale, replication and unstructured data storage
Examples
SQL : MySQL, Postgres, Oracle Database
No SQL : MongoDB, Cassandra, HBase, Neo4j
Data Storage Model
SQL : Individual records are stored as rows in tables, with each column storing a specific piece of data about that record
No SQL : Varies based on database type. For example, key-value stores function similarly to SQL databases, but have only two columns ("key" and "value"), with more complex information sometimes stored within the "value" columns. Document databases do away with the table-and-row model altogether, storing all relevant data together in single "document" in JSON, XML, or another format, which can nest values hierarchically.
Schemas
SQL : Vertically, meaning a single server must be made increasingly powerful in order to deal with increased demand.
No SQL : Horizontally,The database automatically spreads data across servers as necessary
Development Model
SQL : Mix of open-source (e.g., Postgres, MySQL) and closed source (e.g., Oracle Database)
No SQL : Open-source
Supports Transactions
SQL : Yes, updates can be configured to complete entirely or not at all
No SQL : In certain circumstances and at certain levels (e.g., document level vs. database level)
Data Manipulation
SQL : Specific language using Select, Insert, and Update statements, e.g. SELECT fields FROM table WHERE…
No SQL : Through object-oriented APIs
Consistency
SQL : Can be configured for strong consistency
No SQL : Depends on product. Some provide strong consistency (e.g., MongoDB) whereas others offer eventual consistency (e.g., Cassandra)