NOSQL - Tensho97/Aprende-a-Aprender GitHub Wiki
Las bases de datos NoSQL son una forma de almacenamiento no estructurado, es decir, no tienen una estructura de tabla fija como podemos encontrar en las base de datos relacionales.
Este tipo de almacenamiento de información surge, en gran parte, del problema de escalabilidad de SQL, dado que cada vez se recopilan más datos y cada vez son más los usuarios que acceden a los datos al mismo tiempo. Este interés, y la necesidad de procesar grandes volumenes de información, dio lugar a nuevas soluciones donde se prima la escalabilidad y rendimiento.
- Flexibilidad: las bases de datos NoSQL generalmente ofrecen # esquemas flexibles que permiten un desarrollo más rápido y más iterativo. El modelo de datos flexible hace que las bases de datos NoSQL sean ideales para datos semiestructurados y no estructurados.
- Escalabilidad: las bases de datos NoSQL generalmente están diseñadas para escalar usando clústeres distribuidos de hardware en lugar de escalar añadiendo servidores caros y sólidos. Algunos proveedores de la nube manejan estas operaciones fuera del alcance, como un servicio completamente administrado.
- Alto rendimiento: la base de datos NoSQL está optimizada para modelos de datos específicos (como documentos, clave-valor y gráficos) y patrones de acceso que permiten un mayor rendimiento que el intento de lograr una funcionalidad similar con bases de datos relacionales.
- Altamente funcional: las bases de datos NoSQL proporcionan API altamente funcionales y tipos de datos que están diseñados específicamente para cada uno de sus respectivos modelos de datos.
- Fiabilidad: La mayoría de las bases de datos NoSQL no admiten funciones de fiabilidad, que son soportadas por sistemas de bases de datos relacionales. Estas características de fiabilidad pueden resumirse en: “atomicidad, consistencia, aislamiento y durabilidad.” (ACID) Esto también significa que las bases de datos NoSQL, que no soportan esas características, ofrecen consistencia para el rendimiento y la escalabilidad.
- Compatibilidad. A diferencia de las bases de datos relacionales, que comparten ciertos estándares, las bases de datos NoSQL tienen pocas normas en común. Cada base de datos NoSQL tiene su propia API, las interfaces de consultas son únicas y tienen peculiaridades
SQL | NoSQL | |
---|---|---|
Datos | Datos estructurados guardados en tablas | Datos no estructurados guardados en formato BSON – binary JSON |
Esquema | Estático | Dinámico |
Escalabilidad | Vertical | Horizontal |
Transacciones | Soporta transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) | Teorema CAP (Consistencia, Disponibilidad y Tolerancia al particionado) |
Auto Elasticidad | Requiere downtimes en algunos casos | Automático, no requiere interrupción |
Autor: Richard