🥇 Bases de Datos en AWS

🍿 ¿Qué es una base de datos?

Casi cada aplicación depende de una base de datos para almacenar los datos importantes y sus usuarios. Permite ademas a la aplicación accesar, manejar y buscar largos volúmenes de registros. En una aplicación bien estructurada, la base de datos necesitara alcanzar las demandas de performance, disponibilidad, y recuperación del sistema.

Los sistemas y motores pueden agruparse en dos grandes categorías: Relational Database Management Systems (RDBMS) y NoSQL (non-relational). Es común que existan aplicaciones que usen una combinación de RDBMS y NoSQL.

🍿 ¿Cuáles son las diferencia entre sql y nosql?

🥤 ¿Qué son las bases de datos relacionales (Relational Databases)?

Una base de datos puede categorizarse como sistema Online Transaction Processing (OLTP) u Online Analyticial Processing (OLAP), dependiendo como las tablas se encuentren organizadas y como la aplicación usa la base de datos relacional. OLTP se refiere a una base de datos enfocada en transacciones, cuyos que son frecuentemente escritos y modificados. OLAP se refiere a un banco de datos que se utiliza para realizar grandes bloques de reportes. Las aplicaciones grandes por lo general tienen una combinación de ambos.

Amazon Relational Database Service (RDS) simplifica la configuración y mantenimiento de las bases de datos OLTP y OLAP, proveyendo soporte para seis tipos de bases de datos relacionales populares: MySQL, Oracle, PostgreSQL, SQL Server, MariaDB y Aurora. También es posible utilizar un motor dentro de Windows o Linux, echando mano de una base de datos administrada desde una instancia de EC2.

🍦 ¿Qué son los bancos de datos (Data Warehouses)?

Es un repositorio central para los datos que vienen de uno o mas recursos. Este repositorio es frecuentemente una base datos relacional especializada en el uso de reportes o análisis de datos vía OLAP. Las organizaciones comúnmente usan warehouses para compilar reportes y realizar queries bastante complejos.

Los warehouses son por lo general son actualizados múltiples veces durante el día, mediante procesos en lotes, esto comparado con las bases de datos transaccionales que pueden ser modificadas miles de veces por segundo. Muchas organizaciones dividen sus bases de datos en dos diferentes, una como la de producción para transacciones, y una para el procesamiento de datos como OLAP. Las transacciones OLTP ocurren frecuentemente y son relativamente simples. Las transacciones OLAP ocurren con mucho menos frecuencia pero son mas complejas.

RDS es frecuentemente usado para cargas de trabajo OLTP, pero puede también ser usado para OLAP. RedShift es un banco de datos de alto performance diseñado específicamente para casos OLAP. Es común combinar RDS con RedShift en la misma aplicación, y periódicamente extraer las recientes transacciones y cargarlas dentro de la base de datos de reportes.

🥤 ¿Qué son las bases de datos NoSQL (NoSQL Databases)?

NoSQL ha ganado bastante popularidad en los recientes años porque son muy sencillas de utilizar, mas flexibles, y pueden alcanzar el performance que es muy difícil o imposible de lograr con bases de datos relacionales. Las bases de datos tradicionales son difíciles de escalar mas allá de un servidor, sin la necesidad de compleja ingeniería y mayores costos, pero una arquitectura NoSQL permite escalar horizontalmente en hardware básico.

Las bases de datos NoSQL no tienen la misma semántica de tablas y columnas que tiene una base de datos relacional, puesto que no lo son. En su lugar utilizan pares de key/value o documentos almacenados con esquemas flexibles que pueden evolucionar a través del tiempo. En contraste con una base de datos relacional, que requiere un esquema rígido.

Muchas de estas bases de datos soportan clustering y escalamiento horizontal a través de muchos equipos para mejor performance y tolerancia al error.

Es posible utilizar sistemas NoSQL en AWS utilizando EC2, o eligiendo un servicio administrado como DynamoDB para manejar el alto trabajo relacionado con la construcción y distribución de clusters en múltiples Data Centers.

Otras funcionalidades de IAM Relational Database Service (RDS)
comments powered by Disqus