En algún punto en nuestra vida profesional hemos oído hablar de las bases de datos relacionales, esto es de esperarse debido a que este tipo de bases de datos es el más común , sin embargo este no es el único tipo de bases de datos que existen, desde 1998 cuando Carlo Strozzi utilizo el término «NoSQL» para referirse a su sistema de base de datos que no utilizaba el estándar SQL se ha tenido esa noción de que puede existir una alternativa a las bases de datos que utilizan SQL y ahora esto es una realidad, lo cual ha generado el debate de «Relational vs NoSQL» o bases de datos relacionales vs las no relacionales , a continuación se presentan las diferencias entre ambos tipos:
-
Esquemas:
En las bases de datos que utilizan SQL se debe de tener una estructura predefinida para las tablas que se utilizarán en el sistema, esto implica que si se debe de hacer un cambio, como por ejemplo añadir nuevos campos, este proceso puede significar que el sistema estará abajo por un periodo largo de tiempo, con NoSQL este problema desaparece, debido a que en este tipo de base de datos los esquemas no deben de estar predieinidos , se pueden agregar nuevos campos sin necesidad de interrupciones, esto ayuda a que su base de datos crezca conforme lo hace su empresa.
-
Estrucutra:
Como se mencionó anteriormente en las bases de datos relacionales se debe seguir un esquema estricto al momento de guardar la información lo cual puede causar problemas cuando no todos los registros requieran de todos los campos definidos, la solución de NoSQL para este problema es la forma en que guarda su información, la cual se muestra en la siguiente imagen:

Al tener más formas de como almacenar la información se gana más flexibilidad, un ejemplo de un sistema de base de datos que utiliza el tipo de almacenamiento orientado a documentos seria mongodb, el cual guarda su información en documentos con formato JSON.
-
Escalabilidad:
Las bases de datos relacionales escalan de manera vertical, esto quiere decir que toda la información se encuentra en solo servidor y es a este servidor al que le hacen las mejoras, como por ejemplo, agregar más RAM, más almacenamiento, mas procesadores, en el caso de las bases de datos no relacionales, estas escalan de manera horizontal, lo que quiere decir que se pueden agregar más servidores y dividir la carga de trabajo entre ellos.
-
Información que almacena:
Otra gran diferencia entre estos tipos de bases de datos es el tipo de información que pueden almacenar, la bases de datos relacionales almacenan lo que se conoce como «datos estructurados», este tipo de datos se refiere a todos los datos que pueden ser organizados con facilidad y que también pueden ser utilizados de manera sencilla por las aplicaciones de minería de datos, los datos utilizados por las bases de datos no relacionales se denominan «datos no estructurados» son todos aquellos datos que no poseen una estructura interna identificable, es por esta característica que no pueden almacenados en una base de datos relacional, un punto importante a tener en cuenta es que por su naturaleza los datos no estructurados requieren de herramientas más complejas, que los datos estructurados, al momento de realizar un análisis de los mismos.
-
Soporte:
Un punto muy importante a tener en cuenta cuando se va a seleccionar que tipo de base de datos usar es , que tanto soporte tiene cada una de las opciones, en este caso las bases de datos relacionales al ser un poco más antiguas han cultivado una comunidad más grande y por ende tienen más soporte, en el caso de las bases de datos no relacionales, al ser una tecnología más nueva tiene una comunidad más pequeña, esto se puede demostrar si por ejemplo comparamos a MySQL, uno de los grandes representantes de las bases relacionales con MongoDB, uno de los grandes representantes de las bases de datos no relacionales, esta comparación la haremos por medio de google trends, haciendo esto veremos el siguiente gráfico:

Como se puede apreciar MySQL es el término que más se busca de los dos, lo cual tiene sentido si tómanos en cuenta que MySQL fue lanzado en 1995 y MongoDB fue lanzado en el 2009.
-
Rendimiento:
En esta sección se estará hablando de como las bases de datos relacionales y las no relacionales realizan las acciones de escritura y lectura de datos.
Una ventaja que tienen las bases de datos no relacionales es que por la naturaleza de la información que almacenan se ahorran un poco de tiempo cuando se escribe información, esto debido a que cuando sea realiza un insert a una tabla de una base de datos SQL primero se verifica que la información tenga la estructura correcta de la tabla y este proceso puede tardar un poco, en términos de lectura de grandes cantidades de información una base de datos SQL puede ser la mejor opción de las dos, esto debido a que cierta información es almacenada en la memoria RAM, todo esto porque las bases de datos SQL cuentan con índices debido a que almacena información estructurada, sin embargo este forma de trabajar tiene una desventaja la cual es que, por razones obvias, no se podría tener toda la información de la base de datos en la RAM.
En las bases no relacionales indexar información es un poco más complejo por la naturaleza de la información que esta almacena, al ser una nueva tecnología no existen herramientas tan robustas que ayuden al proceso de indexar la información, lo cual es otra desventaja que tienen las bases de datos no relacionales en este punto.
Con todo lo dicho anteriormente no se quiere dar a entender que las bases de datos relacionales son obsoletas, todavía tienen su lugar en el mercado, el gráfico anterior es prueba de esto, al final del día son dos maneras distintas de almacenar información, que safisfacen las necesidades de dos tipos distintos de empresas.
En Forgin contamos con personal capacitado para suplir sus necesidades en el área de almacenamiento !Hablemos¡




