No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso Pr谩ctico de Bases de Datos en AWS

Curso Pr谩ctico de Bases de Datos en AWS

Carlos Andr茅s Zambrano Barrera

Carlos Andr茅s Zambrano Barrera

Estrategias de performance en RDS

10/32
Recursos

En esta clase vamos a aprender c贸mo identificar el rendimiento de nuestra base de datos, estrategias para mejorar su rendimiento actual y todas las opciones de performance de AWS.

A nivel de monitoreo, AWS nos provee un servicio llamado CloudWatch que nos permite visualizar los niveles de lectura, escritura, CPU, disco y memoria de la instancia d贸nde corre nuestra base de datos, tambi茅n podemos analizar las m茅tricas de conexiones para determinar la carga y la concurrencia de nuestras instancias.

La primer estrategia para mejorar el performance son las replicas de lectura, copias as铆ncronas de nuestra base de datos principal con un nuevo endpoint que vamos a utilizar solo en tareas de lectura, as铆 obtenemos mucha m谩s disponibilidad para tareas de escritura en nuestra base de datos principal. Recuerda que este servicio no esta disponible para los motores de Oracle y SQL Server.

Tambi茅n podemos mejorar el storage de nuestra base de datos utilizando provisioned iops para soportar altas operaciones de entrada y salida sobre la base de datos, principalmente para transacciones OLTP (OnLine Transaction Processing).

Existen otras alternativas como las bases de datos en memoria (ElastiCache, por ejemplo). Estas opciones resultan muy 煤tiles para guardar la informaci贸n m谩s consultada en cache, as铆 aliviamos un poco la carga de nuestra base de datos principal. Si estamos muy saturados y agotamos todas las opciones para mejorar el performance, la recomendaci贸n es dividir nuestra base de datos en otras m谩s peque帽as.

Aportes 23

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Estrategias de performance en RDS

  • Monitoreo: Lectura y escritura, CPU, DD y Memoria (AWS CloudWatch). Conexiones.
  • R茅plicas de lectura: Mejorar el desempe帽o de la BD. No disponibles para Oracle y SQL Server. Por cada r茅plica, se genera un endpoint totalmente diferente, y hay que modificar el c贸digo para que utilice la r茅plica o la BD master cuando sea necesario.
  • Provisioned: Dise帽ado para transacciones OLTP. 1.000 a 40.000 IOPS.
  • Alternativas: BD en memoria (ElastiCache). Dividir la BD en otras BDs m谩s peque帽as.
  • Performance insights: Monitoreo de performance. Cu谩ndo y qu茅 acciones tomar para mejorar el rendimiento de la BD.
  • Adicionales: Estrategias dependen del motor. AWS recomienda Aurora.

Existen otras alternativas como las bases de datos en memoria (ElastiCache, por ejemplo). Estas opciones resultan muy 煤tiles para guardar la informaci贸n m谩s consultada en cache, as铆 aliviamos un poco la carga de nuestra base de datos principal. Si estamos muy saturados y agotamos todas las opciones para mejorar el performance, la recomendaci贸n es dividir nuestra base de datos en otras m谩s peque帽as.

y 鈥 驴c贸mo se hace una r茅plica de lectura?

Cuando utilizamos MySQL para sacar replicas de replicas de otras replicas, debemos tener en cuenta que podemos tener problemas con la latencia, la ultima replica puede tardar un poco en actualizarse y vamos a tener informaci贸n diferente a la base de datos principal 馃憤.

驴**Performance Insights **est谩 solo disponible para RDS o tambi茅n se puede usar con un motor instalado en una instancia EC2?

Tambi茅n deber铆amos tener en cuenta la consistencia eventual, cuando se hacen estas replicaciones as铆ncronas podemos por alg煤n instante de tiempo ver la r茅plica desactualizada.

eso de la RR de la RR de la RR son贸 como a la herencia prototipal de javascript! 馃槺馃お

La primer estrategia para mejorar el performance son las replicas de lectura, copias as铆ncronas de nuestra base de datos principal con un nuevo endpoint que vamos a utilizar solo en tareas de lectura, as铆 obtenemos mucha m谩s disponibilidad para tareas de escritura en nuestra base de datos principal. Recuerda que este servicio no esta disponible para los motores de Oracle y SQL Server.

Tambi茅n podemos mejorar el storage de nuestra base de datos utilizando provisioned iops para soportar altas operaciones de entrada y salida sobre la base de datos, principalmente para transacciones OLTP (OnLine Transaction Processing).

A nivel de monitoreo, AWS nos provee un servicio llamado CloudWatch que nos permite visualizar los niveles de lectura, escritura, CPU, disco y memoria de la instancia d贸nde corre nuestra base de datos, tambi茅n podemos analizar las m茅tricas de conexiones para determinar la carga y la concurrencia de nuestras instancias.

Hola. 驴Como averigua hasta cuantas conexiones puede soportar la BD en una determinada instancia? 驴Si deseo mejorar el numero de conexiones debo elegir una instancia con mayor RAM o mayor CPU?
Esta muy bueno el curso, saludos鈥

Hola, RDS SQLSever si soporta read replicas pero solo para la versi贸n Enterprise 2016-2019.

super claro鈥 es conveniente tener claro que estrategia se seguir谩 para realizar nuestros replicas y no afectar el performance de nuestra RDS 馃槂

En conclusi贸n va a depender mucho del prop贸sito de la capa de persistencia, teniendo esta claridad puede elegirse la estrategia m谩s adecuada.

RE replica se coloca cuando tengo mucha carga de lectura y queremos aliviar la carga a la base de datos

Performances inside es una herramienta en AWS para ver el desepe帽o de nuestro RDS

no soportable en Oracle Y Mysql ,pero si estas son los motores de bases de datos mas importantes y usados en el mercado. cada cuanto se refrescaria la READ REPLICA PARA QUE EL USUARIO Tenga la informacion mas actualizada. si es para applications de Fintech. se desea tener la informacion mas fresca

las replicas de lectura ya esta disponibles en SQL server desde 2016

https://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.html

Lo mejor es hacer un buen dise帽o de la arquitectura de datos de la aplicaci贸n, con el fin de poder separar algunas tablas param茅tricas y meterlas en un cache como memcache, 贸 ver la posibilidad de separar la informaci贸n en varias BD y poder generar replicaci贸n en algunas de ellas, sobre todo ne aquellas donde se generan reportes.

Monitoreo: A traves de Cloudwatch como una perspectiva general,
Replica: Clonar la BD de forma asincrona para hacer lectura ( generaria un nuevo endpoint).
Provisioned: Alta transaccionalidad.

Es clave entender que nuestra app tiende a leer o a escribir mayoritoriamente. motores modernos como postgres y mariadb consideran esto

Cual es la diferencia de crear una replica de replica en lugar de una replica del maestro, no seria mejor?