BASE DE DATOS NOSQL
En NoSQL, los principios clave incluyen:
Almacenamiento Estructurado: Tanto las bases de datos NoSQL como las relacionales son tipos de almacenamiento estructurado.
Diferencia en el Almacenamiento de Datos: La diferencia principal radica en cómo se almacenan los datos. Por ejemplo, en NoSQL, se guarda una factura como una unidad sin separar los datos en diferentes tablas.
No Siempre la Mejor Solución: NoSQL no siempre es la mejor solución, especialmente si los datos son relacionales. En esos casos, quedarse con un RDBMS es la opción correcta.
Principios Fundamentales de NoSQL:
- Control Transaccional ACID no es crucial.
- Los JOINs no son prioritarios, favoreciendo la desnormalización.
- Algunos elementos relacionales, como claves (keys), siguen siendo necesarios y aconsejables.
- Se destaca por su capacidad de escalabilidad y replicación en múltiples servidores.
En la arquitectura NoSQL:
Consistencia Débil: En general, ofrecen consistencia débil, como consistencia eventual o transacciones restringidas a elementos de datos simples.
Arquitectura Distribuida: Emplean una arquitectura distribuida, donde los datos se almacenan de forma redundante en varios servidores, a menudo utilizando tablas hash distribuidas.
Estructuras de Datos Simples: Generalmente, utilizan estructuras de datos simples, como arrays asociativos o estructuras clave-valor.
Consultas Simples: Las consultas se realizan exclusivamente por clave o índice.
Procesamiento Externo para Consultas Complejas: Para consultas complejas, se recurre a una
infraestructura de procesamiento externo, como MapReduce.
Ventajas de NoSQL:
- Masivamente escalables.
- Alta disponibilidad.
- Bajo costo en comparación con soluciones similares a la misma escala.
- Elasticidad predecible (generalmente).
- Esquema flexible, adecuado para datos dispersos y semiestructurados.
Inconvenientes de NoSQL:
- Capacidad de interrogación limitada.
- Consistencia eventual, lo que hace que la programación no sea intuitiva.
- Falta de estandarización, lo que implica falta de portabilidad.
- Desarrollo de aplicaciones cliente más complejo.
- Carencia de herramientas de control de acceso (seguridad).
Comentarios
Publicar un comentario