# data[].attributes.body
El video explica las diferencias entre bases de datos SQL y NoSQL, destacando sus ventajas y desventajas, cómo se utilizan en distintos contextos y su escalabilidad, así como la importancia de elegir el sistema adecuado según el proyecto.

# data[].attributes.body
SQL es un lenguaje de programación estructurado utilizado en bases de datos relacionales.

SQL permite realizar consultas, actualizar, leer y eliminar información en bases de datos.

Las bases de datos que utilizan SQL son relacionales y se asemejan a tablas de Excel.

Algunos sistemas de gestión de bases de datos que utilizan SQL son Postgres, MariaDB, entre otros.

# data[].attributes.body
Las bases de datos NoSQL funcionan de manera diferente a las SQL, siendo más adecuadas para grandes cantidades de datos.

02:59

Cada base de datos NoSQL tiene reglas propias y documentación específica.

No requieren un lenguaje de programación para acceder a la información.

Algunas bases de datos NoSQL populares son MongoDB, Amazon DynamoDB y Google Firebase.

# data[].attributes.body
Diferencias entre bases de datos SQL y NoSQL

05:58

Las bases de datos NoSQL no tienen una estructura definida y su esquema puede cambiar.

En bases de datos NoSQL se pueden guardar información con formas variables sin importar al sistema.

Para bases de datos SQL se necesita equipamiento especial, mientras que para NoSQL se puede utilizar cualquier equipo en cantidad suficiente.

El lenguaje usado en SQL es declarativo, lo que facilita la escritura de consultas, mientras que en NoSQL puede ser declarativo o imperativo.

# data[].attributes.body
SQL y NoSQL difieren en la consistencia de los datos y la escalabilidad.

08:57

SQL es muy consistente al ser centralizado, mientras que NoSQL es menos consistente.

SQL es más adecuado para sistemas donde se requiere alta consistencia como en bancos, mientras que NoSQL es mejor para sistemas a gran escala como Facebook.

SQL se enfoca en la consistencia, mientras que NoSQL se enfoca en la disponibilidad.

Programadores de SQL tienden a ganar más en promedio que programadores de NoSQL.

# data[].attributes.body
La escalabilidad en bases de datos se puede lograr a través de la fragmentación o particionamiento, siendo más eficiente en bases de datos NoSQL.

11:57

Las bases de datos NoSQL permiten distribuir el sistema en múltiples computadoras, siendo más económico al requerir menos recursos individualmente.

Para escalar sistemas SQL, se necesita implementar fragmentación o particionamiento para distribuir la información en diferentes servidores.

Es más fácil acceder a la información en bases de datos NoSQL al poder buscar en diferentes servidores, a diferencia de los sistemas SQL que requieren un balanceador de carga para redirigir las solicitudes a diferentes bases de datos.

# data[].attributes.body
La escalabilidad en sistemas de bases de datos distribuidas puede afectar la consistencia de los datos, especialmente en sistemas sensibles como los bancarios.

14:56

Se recomienda usar el término "agente controlador" en lugar de "maestro-esclavo".

En sistemas distribuidos, algunas réplicas se utilizan solo para lectura y mantenimiento de información duplicada.

La consistencia en sistemas distribuidos puede romper los principios de SQL como la consistencia, lo cual puede ser peligroso en sistemas sensibles.

Se debe considerar la consistencia eventual al elegir un sistema para un proyecto, ya que puede afectar la integridad de los datos.