Want to make creations as awesome as this one?

Transcript

6

1

2

3

4

5

7

8

9

10

Bases de DatosUnidad I

Las bases de datos NoSQL son bases de datos no relacionales que almacenan y recuperan datos datos no estructurados o semiestructurados.

Start

Introducción a las Bases de datos NoSQL

6

1

2

3

4

5

7

8

9

10

Tipos de Bases de Datos NoSQL

+Documentales

+Orientada a Columnas

+info

+Clave - Valor

+Grafos

Los cuatro tipos principales de bases de datos NoSQL son bases de datos de documentos, clave-valor, orientadas a columnas y de grafos.

Documentales: se empareja cada clave con una estructura de datos compleja que se denomina documento, existen otras bases de datos documentales como Cloud Firebase o Couchbase.

Grafos: Se utilizan para almacenar información sobre redes de datos, como las conexiones sociales. Neo4j es uno de los ejemplos mas populares de bases datos de este tipo.

Clave - Valor: Son las bases de datos NoSQL mas simples. Cada elemento de la base de datos se almacena como un nombre de atributo (o “clave”), junto con su valor para acceso de memoria rápida. un ejemplo de estas bases de datos es redis.

Orientada a columnas: Estas bases de datos, como Cassandra (la mas popular) o Hbase, permiten realizar consultas en grandes conjuntos y almacenan los datos en columnas, en lugar de filas.

6

1

2

3

4

5

7

8

9

10

Son más escalables y rápidas que las bases de datos relacionales tradicionales.

Estás bases de datos, nacieron para abordar las limitaciones de las bases de datos relacionales (SQL) y satisfacer las necesidades de las aplicaciones modernas que requieren flexibilidad, escalabilidad, rendimiento y manejo de datos variados y no estructurados.

6

1

2

3

4

5

7

8

9

10

Diferencias entre SQL y NoSQL

Las principales diferencias incluyen el modelo, los datos, el esquema, las transacciones, la consistencia y disponibilidad, el rendimiento y la escalabilidad.

Base de datos NoSQL Base de datos SQL Modelo ✔ No relacional ✔ Relacional ✔ Almacenamiento de datos en ✔ Almacenamiento de datos en tablas documentos JSON, pares clave-valor, almacenes orientados a columnas o grafos Datos ✔ Flexible, debido al hecho de que no ✔ Rígido todos los registros tienen que almacenar ✔ Excelente para soluciones donde las mismas características cada registro tiene las mismas ✔ Se agregan rápidamente nuevas características características. ✔ Los enlaces se califican desnormalizando datos ✔ Agregar una nueva característica y presentando todos los datos de una entidad requiere modificar el esquema en un solo registro ✔ Los enlaces se construyen en modelos ✔ Adecuado para semiestructurados, normalizados uniendo tablas complejos o datos anidados ✔ Adecuado para datos estructurados

6

1

2

3

4

5

7

8

9

10

Diferencias entre SQL y NoSQL

Esquema ✔ Esquemas dinámicos o flexibles ✔ Esquemas claramente definidos ✔ La base de datos no acepta el esquema ✔ El esquema debe mantenerse y está especificado por la aplicación. y sincronizarse entre aplicaciones Esto da como resultado agilidad y bases de datos y un desarrollo altamente interactivo Transacciones ✔ El soporte de transacciones ACID ✔ Admite transacciones ACID varía según las solucionesEscalabilidad ✔ Escalabilidad horizontal ✔ Escalabilidad vertical ✔ Soportan estructuras distribuidas

Base de datos NoSQL Base de datos SQL

6

1

2

3

4

5

7

8

9

10

Cuándo utilizar bases de datos SQL y cuándo usar NoSQL

La elección entre una base de datos SQL y una base de datos NoSQL depende de varios factores y requisitos específicos de tu aplicación.

6

1

2

3

4

5

7

8

9

10

+info

+info

Cuando usar una base de datos SQL:

Cuando usar una base de datos NoSQL

+info

+info

Datos estructurados

Integridad de datos y relaciones complejas

Consistencia fuerte

Datos no estructurados o semiestructurados

Escalabilidad horizontal

Rendimiento y velocidad de lectura/escritura alta:

Escalabilidad vertical

Datos estructurados: Si tus datos son altamente estructurados y siguen un esquema fijo. Integridad de datos y relaciones complejas: Cuando necesitas mantener la integridad de los datos y gestionar relaciones complejas entre tablas, SQL es la elección adecuada. Consistencia fuerte: Si tu aplicación requiere consistencia fuerte, donde la integridad de los datos es fundamental. Esto es especialmente importante en aplicaciones financieras y sistemas críticos. Escalabilidad vertical: Las bases de datos SQL son adecuadas cuando puedes escalar verticalmente, lo que significa agregar más recursos (CPU, RAM, etc.) a un servidor único para aumentar el rendimiento.

Datos no estructurados o semiestructurados: Si tus datos son flexibles y no siguen un esquema fijo, NoSQL es una buena elección. Ejemplos incluyen aplicaciones web modernas que manejan datos variados, como redes sociales y aplicaciones de IoT. Escalabilidad horizontal: Cuando necesitas una escalabilidad fácil y rápida, NoSQL es la opción preferida. Las bases de datos NoSQL suelen ser distribuidas y escalan horizontalmente, agregando más servidores según sea necesario. Rendimiento y velocidad de lectura/escritura alta: Si la velocidad de lectura y escritura es crítica para tu aplicación, NoSQL puede ofrecer un mejor rendimiento, especialmente en entornos de alto tráfico.

6

1

2

3

4

5

7

8

9

10

Tipos de NoSQL

Key-value: Redis

Graph: Neo4j

Documentos: MongoDB

Wide-column: Cassandra

6

1

2

3

4

5

7

8

9

10

Los datos y los metadatos se almacenan jerárquicamente en documentos basados en JSON dentro de la base de datos. Cada documento puede tener una estructura diferente y es fácilmente escalable.

Almacén de documentos

Los datos se representan como una colección de pares clave-valor, donde cada valor está asociado con una clave única. Estas bases de datos son ideales para aplicaciones que requieren una alta velocidad de lectura/escritura y almacenamiento en caché.

Almacén de clave-valor

MongoDB, Azure Cosmos DB.

Ejemplos

Redis

Ejemplo