Bases de Datos NoSQL: Flexibilidad y Escalabilidad para Startups
Clase 1 de 17 • Curso de Base de Datos NoSQL
Resumen
El cambio de gigantes tecnológicos como Meta, Twitter y Adobe de bases de datos SQL a no SQL marcó una tendencia significativa en la tecnología. Empresas como Uber, Netflix y Google también han adoptado no SQL debido a la necesidad de adaptarse rápidamente a los cambios en el uso de datos.
La flexibilidad de no SQL es crucial para startups, permitiendo agregar valor en cada sprint. No SQL no implica la exclusión total del lenguaje SQL; existen bases de datos no SQL que también soportan SQL. Este término se popularizó en los 2000 por la necesidad de manejar datos de manera diferente a medida que el costo de almacenamiento disminuyó y las aplicaciones requerían almacenar y consultar más datos.
¿Qué es no SQL?
- SQL, que significa Structured Query Language, es un lenguaje estándar utilizado en muchas tecnologías de bases de datos.
- No SQL no significa necesariamente no usar SQL; algunas bases de datos no SQL soportan SQL.
- Originalmente, no SQL se asociaba con bases de datos no relacionales, pero hoy en día tiene un significado más amplio.
¿Por qué surgió la necesidad de no SQL?
- Las bases de datos no relacionales existen desde finales de los 60.
- En los 2000, la necesidad de manejar grandes volúmenes de datos y la reducción en el costo de almacenamiento impulsaron la adopción de no SQL.
- No SQL permite almacenar datos estructurados, semiestructurados y polimórficos, ofreciendo flexibilidad y nuevas posibilidades.
¿Cuáles son los tipos de bases de datos no SQL?
- Bases de datos de grafos.
- Basadas en documentos.
- De llave-valor.
- Columnares.
- Vectoriales.
¿Cómo escalan las bases de datos no SQL?
- Las bases de datos SQL escalan verticalmente (más RAM, CPU, capacidad de almacenamiento).
- No SQL permite escalar horizontalmente, facilitando la partición de datos mediante estrategias como sharding.
- Esta técnica distribuye datos en distintos clusters, mejorando la eficiencia de lecturas y escrituras.
¿Qué características diferencian a no SQL?
- Enfoque en consistencia, disponibilidad y tolerancia a particiones (Teorema CAP).
- Las bases de datos no SQL pueden cumplir solo dos de estas tres características, lo que representa una ventaja dependiendo del uso.
- Importancia de conocer las ventajas y desventajas para elegir la mejor base de datos para cada aplicación.
¿Cuándo utilizar bases de datos no SQL?
- Cuando se requiere flexibilidad para agregar valor rápidamente en proyectos con cambios constantes.
- Al manejar grandes volúmenes de datos que necesitan escalar horizontalmente.
- En aplicaciones donde la consistencia y disponibilidad son más críticas que la tolerancia a particiones, o viceversa.