Introducción al uso de Bases de Datos en AWS

Cloud IO Enabler Podcast
Voiced by Amazon Polly

AWS nos ofrece varios servicios que nos ayudarán a gestionar una o varias Bases de Datos para nuestra empresa. En esta Introducción al uso de Bases de Datos en AWS vamos a plantear una serie de alternativas que su organización puede optar para esta implementación.

Tipos de Bases de Datos

Antes de empezar a describir las alternativas queremos puntualizar en esta sección los tipos de Bases de Datos comunes que podemos implementar en AWS, para posteriormente analizarlas cada una:

  • Relacionales: aquí tenemos las tradicionales que se conceptualizan en base a relaciones de datos, como por ejemplo PostgreSQL, Oracle o SQL Server.
  • NO SQL: aquí tenemos las bases de datos que definen a los mismos como Documentos y/o por Clave-Valor, como MongoDB o Redis.
  • Datawarehouse: son aquellas usadas para OLAP, en donde se agrupan y procesan grandes cantidades de diferentes fuentes de datos para obtener un resultado, por ejemplo Teradata o Oracle Exadata.

Bases de Datos Relacionales

AWS nos ofrece seis soluciones de Base de Datos como Servicio (DBaaS) que son las siguientes: SQL Server, Oracle, MySQL Server, PostgreSQL, Aurora y MariaDB.

Todas estas incluyen el licenciamiento de uso (si se requiere) y la gestión de actualizaciones y updates del Sistema Operativo, incluido en el servicio, por lo que no tendrá que preocuparse de estos aspectos y costos.

Adicionalmente a la caracterización de cada una, AWS proporciona servicios de Alta Disponibilidad de Disaster Recovery para cada engine, de forma que puede automáticamente recuperarse y gestionar los respaldos; para esto usa Snapshots y varios Data Centers (AZ).

Puede optar por un servicio post pago por hora (on-demand) o pre pago por años (upfront) para el uso, y, tiene al alcance varias configuraciones con diferentes características de RAM y CPU e IOPS (I/O por segundo), además de múltiples opciones de auto escalamiento y monitoreo.

En cuanto a seguridades, se puede activar la encriptación de datos que complementado con redes privadas, administración de accesos de red con firewall (Security Groups) y gestión de usuarios y accesos (IAM) aseguran completamente la información.

Bases de Datos No SQL

AWS ofrece DynamoDB, ElastiCache (Redis y Memcached) como alternativas DBaaS, soluciones orientadas a Documentos y Clave-Valor completamente tolerantes a fallos, altamente disponibles y extremadamente escalables, con latencia de entre milisegundos a microsegundos según la configuración.

DynamoDB es operable a través de un API de acceso y a través de la consola de Administración y funciona completamente en el sentido Serverless. La característica Serverless nos permite solo preocuparnos por crear definiciones, y todo el almacenamiento, respaldos, alta disponibilidad y escalamiento es completamente transparente al uso.

ElastiCache tiene dos opciones Redis y Memcached, que funcionan con el protocolo propio, por lo que no requieren algo adicional en las aplicaciones.

Se puede optar por el uso post pago, tanto por petición o por capacidad provisionada, lo que significa que pagamos por el número de peticiones realizadas en un período o por hora de disponibilidad de una capacidad provisionada dependiendo del servicio. También existe la opción de pre-pago por nodo (instancia) reservada entre 1 a 3 años.

Tienen características de Backup y Restore automático y en el caso de DynamoDB cuenta con el concepto PITR (Point in Time Recovery) llegando a recuperar datos en le periodo de 5 minutos a 35 días en el pasado.

En cuanto las seguridades los datos pueden o son encriptados (dependiendo del engine) usando KMS, lo que de igual forma sumado a estrategias de VPN, Direct Connect, y, gestión de usuarios y accesos (IAM) aseguran completamente la información.

Bases de Datos Datawarehouse

Presentamos en esta sección al Servicio de Amazon Redshift como DBaaS, diseñado para gestionar un Datawarehouse y/o Business Intelligent.

Se trata de una base de datos relacional con excelente performance que puede escalar en orden de los Pentabytes y es almacenada por columna y no por registro, en el concepto “Store Data”, lo que reduce el IOPS (I/O por segundo).

Tiene la opción de gestión de backups automáticos con periodos de retención de 1 a 35 días y cuenta con opciones de configuración por nodos, desde un solo nodo hasta un máximo de 128 nodos. La ventaja de múltiples nodos, significa más computo en paralelo consiguiendo procesar datos y cálculos más rápidamente y tener indicadores en tiempo real.

De igual forma se puede optar por post pago (on-demand) o pre pago (upfront) de 1 a 3 años. El costo esta en relación al número de nodos utilizados/reservados y la configuración de RAM y CPU de cada nodo. Además se cancela un costo por backups y transferencias de datos entre lugares de la VPC (Virtual Private Cloud).

En cuanto a las consideraciones de seguridades, Redshift usa SSL para el tránsito de información y los datos están cifrados con AES-256. De igual forma como en los anteriores escenarios las estrategias firewall (Security Groups), redes privadas y gestión de usuarios y accesos (IAM) complementa la completa seguridad de la información.

EC2 y las Bases de Datos

Evidentemente existe la opción, completamente factible, de gestionar una Base de Datos de forma manual, a través del servicio IaaS AWS Elastic Cloud Computing (EC2).

EC2 nos permitirá provisionar Servidores en AWS con diferentes opciones de Sistemas Operativos y configuraciones en capacidad, como la RAM , el CPU y el Disco Duro, si desea saber más puede ver la Introducción al uso de Servidores en AWS.

Estos servidores combinados con discos de almacenamiento sean Elastic Block Storage (EBS) o Elastic File System (EFS) y un estratégía de Recuperación y Respaldos, nos dan la posibilidad de tener cualquiera de las altenativas descritas (incluso DynamoDB) implementadas manualmente de acuerdo a nuestro requerimiento.

En este escenario es importante considerar que los parches y actualizaciones del Sistema Operativo y el engine de Base de Datos son responsabilidad del usuario.

Otro aspecto importante es que los temas de Failover y Continuidad de Negocio se debe gestionar igualmente de forma manual, con estrategias como disponer nuestras Bases de Datos en diferentes AZ (Data Centers) y/o Regiones y uso de herramientas relacionadas.

En cuanto al tema de costos, se debe considerar aquellos relacionados a las instancias EC2, asi como los discos EBS y/o EFS utilizados, y probablemente la tranferencia de datos entre AZ y/o Regiones que demandaría un esquema de alta disponibilidad (HA).

Declaración

Existen muchas otras soluciones en AWS menos frecuentes pero disponibles, que no se mencionaron en esta Introducción a Bases de Datos en AWS, por temas de tiempo y al ser una introducción.

Las enumeramos con el fin de que ustedes puedan en algún momento investigar más; por supuesto si desean profundizar en alguna lo pueden solicitar en los comentarios. Los Servicios de Base de Datos son: DocumentDB, Keyspaces, Neptune, Timestream y QLDB.

Pensamientos Finales

Esperamos que les sea útil esta Introducción a Bases de Datos en AWS, y podamos haber provisto un vistazo, de forma muy general, a las opciones que disponen aquí.

Hemos visto las alternativas más omunes en diferentes casos e uso de las Bases de Datos y las cuestiones principales relacionadas a las características, su forma de uso, las configuraciones, los costos y las seguridades.

Les animamos a solicitar en los comentarios y/o redes sociales si desean profundizar en algun tema de los revisados.

Compartir este contenido

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio