¿Qué diferencia una base de datos relacional vs una no relacional?
Sabemos que en la era del Big Data los datos son fundamentales para el crecimiento de nuestra organización y que esos datos tienen que ser accesibles y estar disponibles, a través de los gestores de bases de datos , para la racional toma de decisiones que nos conduzca a cumplir los objetivos estratégicos planteados.
Ahora bien, puestos a crear una base de datos ¿nos conviene que sea una base de datos relacional o una base de datos no relacional? De las diferencias, ventajas y desventajas de cada una hablaremos en este artículo.
Si bien las bases de datos no relacionales son más “nuevas” que las bases de datos relacionales, no conviene que caigamos en el error de considerarlas por ello más avanzadas o a las otras desactualizadas o desfasadas. Simplemente se trata de dos tipos diferentes, cada una con sus particularidades. Si conviene usar una u otra dependerá del tipo de desarrollo que busquemos.
Las bases de datos relacionales, también conocidas como de lenguaje de consulta SQL, datan de la década del 80, que fue cuando comenzaron a utilizarse pero, como decíamos, no debe darnos la idea de que son antiguas o que pertenecen al pasado. Por el contrario, aún hoy en día suelen ser el tipo de base de datos que más se usan.
Por su parte, las bases de datos no relacionales, también llamadas lenguaje de consulta NoSQL, están entre nosotros hace menos tiempo. Más precisamente fue entre 2012 y 2015 que se desarrollaron de manera más popular.
¿Qué diferencias hay entre una base de datos relacional y una no relacional?
Hablemos primero de las bases de datos no relacionales, o bases de datos NoSQL:
- Se trata de bases de datos que están diseñadas para soportar grandes volúmenes de datos, por lo que son bases de datos altamente escalables.
- Si bien pueden utilizar lenguaje SQL como herramienta de apoyo, no es este su lenguaje principal para consultas.
- La información se suele almacenar en documentos y no en tablas, como en el caso de las bases de datos relacionales.
- No garantizan el cumplimiento de atomicidad, consistencia, integridad y durabilidad, es decir, las cualidades ACID, que sí garantizan las bases de datos relacionales.
- Se trata de bases de datos de gran utilidad si lo que se desea es gestionar y organizar información no estructurada, o bien en los casos en los que no se sabe fehacientemente el tipo de datos que se pretende almacenar.
- No poseen identificadores que sirvan de relación entre un conjunto de datos y otros
- No cuenta aún con un sistema estandarizado, ya que se trata de un sistema de almacenamiento de datos bastante nuevo.
- MongoDB es la base de datos de este tipo sin dudas más conocida. Atrás suyo vienen Redis, Elasticsearch y Cassandra.
¿Y cuáles son las características principales de las bases de datos relacionales?
- Se caracterizan por organizar la información en partes pequeñas, con identificadores a partir de los cuales esas partes pequeñas se relacionen entre sí.
- Se organizan normalmente en tablas, no en documentos, como en el caso de las otras.
- Se trata de bases de datos más robustas y con menos vulnerabilidades ante fallos
- Garantizan el cumplimiento de las cualidades ACID: atomicidad, consistencia, integridad y durabilidad.
- MySQL junto con Oracle, son las bases de datos de este tipo más conocidas. Luego siguen en la lista SQL Server y PostgreSQL.
¿Cuál es la base de datos que garantiza el éxito o el fracaso?
Puesto así, ninguna. Esto es porque en esa pregunta, tan frecuente, el foco está puesto en el lugar incorrecto, ya que el éxito o el fracaso no dependerá de si se usa una base de datos relacional o una base de datos no relacionales, es decir bases de datos SQL o bases de datos NoSQL, sino en el diseño del modelo que se realice.
Podemos identificar cuál es la base de datos más atinada para nuestro sistema, pero los datos no van a relacionarse solos si volcamos en ella la información en bruto, por lo que conviene, como en todos los casos, destinar tiempo, dinero y esfuerzo en la planificación previa y en el correcto diseño del modelo que vamos a desarrollar según nuestras necesidades.
Ejemplos prácticos de bases de datos relacionales y no relacionales
Es habitual que la información que podemos cargar en un documento Excel la tengamos en formato tabla, y lo habitual es que las bases de datos que se apoyan en tablas sean bases de datos relacionales.
Todo lo que sea inventario o sistemas contables, de información bancaria, tributaria, financiera en general, es recomendable hacerlo en bases de datos relacionales, bases de datos SQL.
Cuando hablamos de historias clínicas médicas, historial académico de estudiantes, información técnica de obras, por ejemplo, solemos tener la información en formato de documento y, en general, las bases de datos que se apoyan en documentos suelen ser bases de datos no relacionales.
Pero estamos hablando de tendencias: esto suele ser de esa manera, pero no siempre lo es, ya que una tabla puede transformarse creando un documento por cada una de las filas que componen la tabla, por ejemplo.
Si lo que tenemos son sistemas de análisis en tiempo real, aplicaciones móviles, bases de datos de crecimiento muy rápido, probablemente nos convenga la opción de bases de datos NoSQL, con su esquema descentralizado.
Lo importante es que pensemos para qué las necesitamos.
Si tenemos perfectamente claro de manera anticipada qué y cómo vamos a almacenar, es probable que nos convenga una base de datos relacional y podamos aprovechar su robustez y seguridad.
Pero para el caso de que no estemos seguros, o más aún, en los casos sobre todo de investigación científica o exploratoria, en los que no sabemos qué tipo de datos y de información podremos obtener, entonces será conveniente que usemos una base de datos no relacional, que es más flexible y no requiere de datos estructurados.
Es importante que recordemos que aun en estos casos en los que no sabemos qué tipo de datos vamos a recoger y en donde lo importante es almacenar datos para análisis futuros, podremos también, si es que lo necesitamos, mudarnos a una base de datos relacional, es decir procesar la información y volcarla y organizarla de manera estructurada en una nueva base.
En el Máster en Business Intelligence & Analytics de OBS vas a profundizar más en estos temas y acceder a las bases para extraer y evaluar eficazmente los datos necesarios para la toma de decisiones en las organizaciones.