La diferencia fundamental entre ambos tipos de bases de datos radica en que las bases de datos NoSQL no utilizan el modelo relacional.
Ventajas de las Bases de Datos relacionales
- Está más adaptado su uso y los perfiles que las conocen son mayoritarios y más baratos.
- Debido al largo tiempo que llevan en el mercado, estas herramientas tienen un mayor soporte y mejores suites de productos y add-ons para gestionar estas bases de datos.
- La atomicidad de las operaciones en la base de datos. Esto es, que en estas bases de datos o se hace la operación entera o no se hace utilizando la famosa técnica del rollback.
- Los datos deben cumplir requisitos de integridad tanto en tipo de dato como en compatibilidad.
Desventajas de las Bases de Datos relacionales
- La atomicidad de las operaciones juega un papel crucial en el rendimiento de las bases de datos.
- Escalabilidad, que aunque probada en muchos entornos productivos suele, por norma, ser inferior a las bases de datos NoSQL.
- Ventajas de una base de datos NoSQL
- La escalabilidad y su carácter descentralizado. Soportan estructuras distribuidas.
- Suelen ser bases de datos mucho más abiertas y flexibles. Permiten adaptarse a necesidades de proyectos mucho más fácilmente que los modelos de Entidad Relación.
- Se pueden hacer cambios de los esquemas sin tener que parar bases de datos.
- Escalabilidad horizontal: son capaces de crecer en número de máquinas, en lugar de tener que residir en grandes máquinas.
- Se pueden ejecutar en máquinas con pocos recursos.
- Optimización de consultas en base de datos para grandes cantidades de datos.
Ventajas de una base de datos NoSQL
- La escalabilidad y su carácter descentralizado. Soportan estructuras distribuidas.
- Suelen ser bases de datos mucho más abiertas y flexibles. Permiten adaptarse a necesidades de proyectos mucho más fácilmente que los modelos de Entidad Relación.
- Se pueden hacer cambios de los esquemas sin tener que parar bases de datos.
- Escalabilidad horizontal: son capaces de crecer en número de máquinas, en lugar de tener que residir en grandes máquinas.
- Se pueden ejecutar en máquinas con pocos recursos.
- Optimización de consultas en base de datos para grandes cantidades de datos.
Desventajas de una base de datos NoSQL
- No todas las bases de datos NoSQL contemplan la atomicidad de las instrucciones y la integridad de los datos. Soportan lo que se llama consistencia eventual.
- Problemas de compatibilidad entre instrucciones SQL. Las nuevas bases de datos utilizan sus propias características en el lenguaje de consulta y no son 100% compatibles con el SQL de las bases de datos relacionales. El soporte a problemas con las queries de trabajo en una base de datos NoSQL es más complicado.
- Falta de estandarización. Hay muchas bases de datos NoSQL y aún no hay un estándar como sí lo hay en las bases de datos relacionales. Se presume un futuro incierto en estas bases de datos.
- Soporte multiplataforma. Aún quedan muchas mejoras en algunos sistemas para que soporten sistemas operativos que no sean Linux.
- Suelen tener herramientas de administración no muy usables o se accede por consola.
¿Como saber qué tipo de base de datos utilizar?
- Cuando los datos deben ser consistentes sin dar posibilidad al error utilizar una base de datos relacional, SQL.
- Cuando nuestro presupuesto no se puede permitir grandes máquinas y debe destinarse a máquinas de menor rendimiento, NoSQL.
- Cuando las estructuras de datos que manejamos son variables, NoSQL.
- Análisis de grandes cantidades de datos en modo lectura, NoSQL.
- Captura y procesado de eventos, NoSQL.
- Tiendas online con motores de inteligencia complejos, NoSQL.
MongoDB
Es ideal para proyectos en los que se requiera alto nivel de escalabilidad. Tiene capacidad para recibir miles de lecturas por segundo sin pestañear. Múltiples gestores de contenido y juegos online se benefician de sus propiedades.
Redis
Otro importante motor de base de datos de tipo calve-valor es Redis. Esta BBDD NoSQL de Código abierto es patrocinada y desarrollada por RedisLabs. Su diseño principal está basado en el almacenamiento de tablas de hashes aunque no es restrictiva sólo hacia este modelo. También tiene la posibilidad de ser utilizada como una BBDD persistente.
PostgreSQL
Es un gestor de bases de datos relacional y orientado a objetos. Su licencia y desarrollo es de código abierto, siendo mantenida por una comunidad de desarrolladores, colaboradores y organizaciones comerciales de forma libre y desinteresadamente.
Comentarios
Publicar un comentario