Diferencias entre bases de datos SQL y NoSQL
A continuación vamos a ver en una tabla cuales son las principales diferencias entre las bases de datos SQL (relacionales) y las NoSQL (no relacionales).
# | SQL | NoSQL |
---|---|---|
1 | Se categorizan como Sistemas de gestión de bases de datos relacionales (Relational Database Management System – RDMS) | Se categorizan como bases de datos no relacionales o sistemas de bases de datos distribuidos. |
2 | Tienen un esquema fijo o estático o predefinido. | Tienen un esquema dinámico. |
3 | Almacenan la información en forma de tablas por lo que se las conoce como bases de datos basadas en tablas. | Almacenan la información en colecciones de pares «clave-valor», documentos o gráficos. |
4 | Escalan verticalmente. | Escalan horizontalmente. |
5 | Utilizan un lenguaje de consultas estructurado llamado SQL para definir y manipular los datos. | Utilizan colecciones de documentos para consultar los datos. Se denomina lenguaje desestructurado. Varía según la base de datos que utilicemos. |
6 | Se recomiendan utilizar cuando necesitemos realizar consultas complejas. | Se recomiendan utilizar cuando necesitemos realizar consultas sencillas. |
7 | No se recomiendan para almacenar datos en jerarquías. | Se recomiendan para almacenar datos en jerarquías. |
8 | MySQL, MariaDB, Oracle, Sqlite, PostgreSQL y MS-SQL son ejemplos de bases de datos relacionales. | MongoDB, BigTable, Redis, RavenDB, Cassandra, Hbase, Neo4j, CouchDB son ejemplos de bases de datos no relacionales. |