En este artículo hablaremos sobre las principales diferencias entre las Bases de Datos SQL y las No-SQL, analizando los conceptos y las principales características a favor y en contra de ambos sistemas.
¿Qué son las Bases de Datos SQL?
Se conocen como bases de datos SQL, a los sistemas de bases de datos empleados comúnmente tales como PostgreSQL, SQL Server, Oracle, MySQL, Access, SQLite, etc.
Estos SGBD’s (sistemas de gestión de bases de datos) emplean el modelo relacional basado en un esquema entidad-relación. Este esquema establece las tablas, columnas y relaciones que determinan tanto la composición de los datos como la relación entre ellos. Esto significa que todos los datos susceptibles de ser almacenados en la BD deben tener la misma composición.
Este tipo de base de datos debe además su nombre al lenguaje SQL (Lenguaje estructurado de consultas) que emplean de manera común para la realización de operaciones de inserción, actualización, eliminación y consulta (CRUD):
Muestra de un esquema E-R y una consulta SQL
Si estás interesado en conocer más acerca de Programación en Bases de Datos visita nuestro Máster en Programación de Bases de Datos o nuestros Cursos de Programación.
¿Qué son las Bases de Datos No-SQL?
Se denominan bases de datos No-SQL (Not Only SQL), a otros SGBD’s que se caracterizan por no emplear el modelo relacional. Algunos de los más comunes son MongoDB, Apache Cassandra, CouchDB, etc.
Estos SGBD’s almacenan la información empleando diferentes estructuras tales como documentos, mapas, grafos, arrays…, etc; que permiten guardar datos sin necesidad de que posean una misma composición.
La característica que da nombre a estos SGBD’s es el no empleo de SQL como lenguaje de consultas sino otras sintaxis alternativas basadas por ejemplo en JSON.
Muestra de los diferentes estructuras de bases de datos No-SQL existentes
SQL vs NoSQL ventajas y desventajas
Ambos sistemas (SQL y No-SQL) tienen características a favor y en contra:
Las bases de datos SQL aportan una mayor fiabilidad en la integración de los datos. Todos los SGBD relacionales aplican restricciones que garantizan la integridad de los datos contenidos, esto es; que no haya información duplicada, que las relaciones no puedan quebrantarse…, etc. Por el contrario, no permiten el guardado de datos si no cumplen estrictamente la composición y relaciones establecidas en su esquema E-R.
Las bases de datos NO-SQL aportan una mayor flexibilidad pudiendo almacenar informaciones procedentes de diferentes orígenes sin necesidad de que tengan una misma composición con menos recursos que las bases de datos relacionales. Esto las hace idóneas para almacenar grandes volúmenes de datos heterogéneos con requisitos hardware menores. Por el contrario, no incluyen mecanismos propios que aseguren la integridad de los datos sino que deben implementarse particularmente, y son incompatibles con el uso de SQL para su manejo.
Si estás interesado en conocer más acerca de Programación en Bases de Datos visita nuestro Máster en Programación de Bases de Datos o nuestros Cursos de Programación.