Cuando comenzamos el desarrollo de una aplicación, siempre tenemos en mente que tipo de base de datos elegiremos. Existen dos grandes bloques de bases de datos.
- Bases de datos relacionales: que trabajan con SQL.
- Bases de datos no relacionales: corriente de código NoSQL.
Bases de datos relacionales
Se caracterizan por ser una colección ordenada de registros que se organizan en un conjunto de tablas. Una tabla es el elemento principal de una base de datos relacional, y es muy parecida a una hoja de cálculo. Los registros de información se organizan en filas y columnas. Estas tablas se relacionan entre sí, y para relacionar los datos usamos el lenguaje de consulta estructurada, mejor conocido por sus siglas en inglés, SQL (Structure query language).
Con SQL vamos a poder obtener y alterar los datos de una forma organizada, siempre y cuando tengamos en cuenta cual es la estructura de la base de datos con la que estamos trabajando. Para ello vamos a utilizar distintos comandos que SQL nos pone a disposición para poder trabajar con la información que almacene nuestra base de datos.
Estas tablas se organizan a través de identificadores, es decir, cada tabla, dentro de la información que almacena, va a elegir a un campo como identificador único, de este modo, cada tabla al tener su propio identificador. es el que va a establecer la relación con el resto de las tablas que forman parte de la basededatos. A su vez estos identificadores hacen que sea más fácil organizar cada una de la información que están en estas tablas por separado.
Ejms de estas bases de datos son MySQL, MariaDB, PostgreSQL…
Bases de datos no relacionales
Están diseñadas para modelar datos con estructuras un poco más específicas, y que no necesiten ser relacionados unos datos con otros. Tal entidad funciona de forma independiente. Son mucho más sencillas que las relacionales, lo que hace por ejm que este tipo de datos se use mucho en el Big Data, ya que al no tener una estructura definida y exacta como las relacionales, se pueden tener incluso redundancia de datos, es decir, datos repetidos. El objetivo de este tipo de bases de datos es mejorar el rendimiento, y se prioriza el acceso por sobre la normalización e integridad de los datos. Se requiere ahorrar poder de cómputo para poder procesar la mayor cantidad de datos en el menor tiempo posible.
Entre los formatos que se utilizan en este tipo de bases de datos, el más popular es el de un documento, y un documento es un objeto organizado en claves y valores para acceder a la información de una manera muy sencilla. A este concepto de bases de datos no relacionales también se las denomina NoSQL (Not only SQL).
Ejms de este tipo son bases de datos documentales, bases de datos que trabajan con llave valor, llaves que trabajan con grafos.. Ejms son MongoDB, Redix, Apache Cassandra, Firebase. Varía la estructura de las bases de datos documentales, lo que hace que sea una ventaja.
Tipo de base de datos
Es muy importante analizar que tipo de base de datos nos conviene, si va a ser más estructurada, donde la información siempre va a ser la misma para todos los registros, o si va a ser una base de datos donde cada registro va a crecer de manera diferente, disponiendo de diferentes propiedades, ahí podemos establecer cuando utilizar una base de datos relacional o una no relacional o documental.
