Tipos de Bases de Datos en la Nube: Relacional, No Relacional y Más

Clase 4 de 27Curso de Introducción a la Nube

Resumen

¿Cómo gestionar los datos en PlexiWallet?

Cuando se trata de manejar grandes volúmenes de datos en aplicaciones como PlexiWallet, la organización efectiva es crucial. Vamos a explorar diferentes tipos de bases de datos que pueden facilitar este proceso, particularmente en un contexto de nube. Desde bases de datos relacionales hasta las de series de tiempo, cada tipo ofrece características exclusivas para manejar y almacenar datos de manera óptima.

¿Qué son las bases de datos relacionales?

Las bases de datos relacionales son, sin duda, las más conocidas y utilizadas en el mundo de la tecnología. Representan los datos en un conjunto de tablas relacionadas entre sí, organizando la información de manera estructurada. Algunos ejemplos de sistemas de gestión de bases de datos relacionales son:

  • SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • MariaDB

Imagina que PlexiWallet está organizando la información de sus usuarios. Podrías tener una tabla de usuarios conectada a otra de medios de pago. Por ejemplo, el usuario Carlos Zambrano podría tener tres tarjetas registradas, creando una relación entre las tablas de usuarios y medios de pago.

¿Qué son las bases de datos key-value?

Las bases de datos key-value, o llave-valor, usan un modelo simple donde a cada llave se le asocia un valor. Este tipo de base de datos no es relacional y es ideal para ciertos usos en aplicaciones como PlexiWallet:

  • Se pueden usar en tablas de transacciones.
  • Un ID de transacción actuaría como llave, y el costo de dicha transacción como valor asociado.

¿Cómo funcionan las bases de datos en memoria?

Las bases de datos en memoria están diseñadas para ofrecer velocidad y eficiencia. Los datos se almacenan en la memoria del servidor, proporcionando respuestas rápidas a las consultas. Esto es útil para recuperar rápidamente datos como las últimas diez transacciones de un usuario. Aunque son no relacionales, ofrecen una velocidad de acceso incomparable al estar los datos siempre disponibles en RAM.

¿Qué forma tienen las bases de datos documentales?

Las bases de datos documentales, como MongoDB, almacenan información en documentos, frecuentemente en formatos como JSON. Se utilizan para gestionar conjuntos de datos complejos que no se prestan fácilmente a la estructura tabular de las bases de datos relacionales. Estas son ideales para almacenar información desestructurada y diversa, como la configuración de usuario o preferencias personalizadas.

¿Para qué se utilizan las bases de datos columnares?

Las bases de datos columnares están diseñadas para aplicaciones de almacén de datos (data warehousing). A diferencia de las relacionales, estas optimizan el almacenamiento en columnas separadas, aplicando compresión para reducir el tamaño de los datos y mejorar la eficiencia. Son perfectas para operaciones analíticas y manejo de grandes volúmenes de datos empresariales.

¿Qué son las bases de datos de grafos?

Las bases de datos de grafos modelan datos en forma de vértices y aristas, poniéndolas en valor en contextos donde las relaciones son clave. En PlexiWallet, por ejemplo, se podrían identificar contactos que también usan la plataforma, como una red de personas conectadas. Estas bases son muy útiles para identificar relaciones complejas y patrones ocultos en los datos.

¿Cómo se utilizan las bases de datos de series de tiempo?

Las bases de datos de series de tiempo se enfocan en almacenar información acompañada de un timestamp, registrando cuándo ocurrió cada evento o métrica. Son fundamentales en análisis financieros y monitoreo de sistemas, permitiendo, por ejemplo, seguir las fluctuaciones de acciones minuto a minuto. Un sistema popular de este tipo es Prometheus.

Sumergirse en el extenso mundo de las bases de datos es esencial para entender cómo gestionar la información en la nube de manera eficiente y efectiva. Cada tipo de base de datos está adaptado a diferentes necesidades y casos de uso, destacando la importancia de escoger la herramienta correcta para las tareas específicas de gestión de datos en cualquier aplicación moderna.