Monday, November 11, 2024

Almacenamiento de información

Sesión 2: 3h46m

Se refiere a la capacidad y métodos que una aplicación de software utiliza para guardar, mantener y recuperar información o datos. Este almacenamiento puede ser temporal (como en la memoria caché)  o permanente (como una base de datos).


Teorema de CAP

Útil para la selección de un motor de BD:

  • Si prima la consistencia y la disponibilidad, entonces usaremos las BD relacionales. Consistencia implica que todo los clientes vean la misma información. La disponibilidad implica que el sistema puede seguir funcionando a pesar que falla un nodo: SQL Server, Oracle, MySQL, PostgreSQL
  • Donde prima la consistencia y la tolerancia a la distribución de datos: redis, mongoDB.
  • Donde prima la alta disponibilidad y la tolerancia a la distribución de datos: Cassandra, amazon DynamoDB, etc.

NoSQL

  • El término "NoSQL" puede ser un poco confuso porque no se refiere necesariamente a la falta de SQL (Structured Query Language). En cambio, NoSQL originalmente significaba "No SQL" pero ha evolucionado para significar "Not Only SQL". Esto significa queestas bases de datos no se limitan a la estructura tabular y al lenguaje de consulta SQL utilizados en las bases de datos relacionales, pero pueden usarlos si es necesario.
  • Las bases de datos NoSQL fueron creadas en respuestas a las limitaciones de las bases de datos relacionales, especialmente para manejar conjuntos de datos grandes, distribuidos y semi-estructurados.
  • Los sistemas NoSQL generalmente no requieren un esquema fijo como las bases de datos SQL, son más fáciles de escalaren forma horizontal, y fueron diseñados para operaciones simples en un gran número de rgistros.

Tipos de Base de Datos NoSQL

  • Clave-Valor: Vincula una clave dada a un registro de cualquier tipo.
  • Documental: Se basan en el concepto detrás de clave-valor, extendiéndolo para admitir objetos complejos de varias capas denominados documentos.
  • Columnar: Puede pensar en las filas como claves en un almacén clave-valor y las columnas como el valor.
  • Grafos: Enfoque hacia la relación entre entidades. Las entidades, como los usuarios, están representados por nodos, mientras que las conexiones entre entidades dictan cómo se relacionan.



No comments:

Post a Comment

Cuando el código funciona, pero no tiene tests: ¿y ahora qué?

Seguramente te ha pasado alguna vez. Te dan acceso al repositorio de un nuevo proyecto. Lo abres con curiosidad, esperas encontrar una estru...