Este contenido está desactualizado. Esta versión de Well-Architected Framework se encuentra ahora en:  https://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/performance-efficiency.html
     
 
         PERF 4: ¿Cómo selecciona una solución de base de datos?
         
         
            La solución de base de datos óptima para un sistema varía según los requerimientos
            de disponibilidad, consistencia, tolerancia en las particiones, latencia, durabilidad,
            escalabilidad y capacidad de consulta. Muchos sistemas utilizan soluciones de bases
            de datos diferentes para varios subsistemas y permiten que distintas características
            mejoren el rendimiento. La selección de las características y soluciones de base de
            datos incorrectas puede resultar en una menor eficiencia de rendimiento.
            
         
         Recursos
          
               AWS purpose-built databases (DAT209-L)
               
 
               Amazon Aurora storage demystified: How it all works (DAT309-R)
               
 
               Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
               
 
               Cloud Databases with AWS
               
 
               AWS Database Caching
               
 
               Amazon DynamoDB Accelerator
               
 
               Amazon Aurora best practices
               
 
               Amazon Redshift performance
               
 
               Amazon Athena top 10 performance tips
               
 
               Amazon Redshift Spectrum best practices
               
 
               Amazon DynamoDB best practices
               
         Prácticas recomendadas:
         
            - 
               Comprenda las características de los datos: 
                  Comprenda las diferentes características de los datos en su carga de trabajo. Determine
                  si la carga de trabajo necesita transacciones, cómo interactúa con los datos y cuáles
                  son las demandas de rendimiento. Utilice estos datos para seleccionar el enfoque de
                  base de datos de mejor rendimiento para su carga de trabajo (por ejemplo, bases de
                  datos relacionales, de valor clave de NoSQL, documento, columna ancha, gráfico, serie
                  temporal o almacenamiento en la memoria).
                  
                
- 
               Evalúe las opciones disponibles: 
                  Evalúe los servicios y las opciones de almacenamiento que están disponibles como parte
                  del proceso de selección para los mecanismos de almacenamiento de su carga de trabajo.
                  Comprenda de qué manera y cuándo utilizar un servicio o sistema de almacenamiento
                  de datos determinado. Aprenda sobre las opciones de configuración disponibles que
                  pueden optimizar el rendimiento o la eficiencia de la base de datos, como las IOPS
                  provisionadas, los recursos de memoria e informática y el almacenamiento de caché.
                  				
                
- 
               Recopile y registre métricas de rendimiento de la base de datos: 
                  Utilice herramientas, bibliotecas y sistemas que registren mediciones de rendimiento
                  relacionadas con el rendimiento de la base de datos. Por ejemplo, mida las transacciones
                  por segundo, las consultas lentas o los sistemas de latencia introducidos cuando accede
                  a la base de datos. Utilice estos datos para comprender el rendimiento de los sistemas
                  de su base de datos.
                  
                
- 
               Elija el almacenamiento de datos en función de los patrones de acceso: 
                  Utilice patrones de acceso de la carga de trabajo para decidir qué servicios y tecnologías
                  utilizar. Por ejemplo, use una base de datos relacional para las cargas de trabajo
                  que requieren transacciones o un almacén de valor clave que ofrece un rendimiento
                  mayor, pero que finalmente sea constante donde se aplique.
                  					 
                
- 
               Optimice el almacenamiento de datos en función de los patrones de acceso y las métricas: 
                  Utilice características de rendimiento y patrones de acceso que optimicen la forma
                  en que los datos se almacenan o se consultan para lograr el mejor rendimiento posible.
                  Mida de qué manera las optimizaciones, como el indexado, la distribución clave, el
                  diseño de almacén de datos o las estrategias de caché, impactan en el rendimiento
                  del sistema o la eficiencia general.
                  
                
Plan de mejora
         Comprenda las características de los datos
Investigue y documente las características de los datos: 
               Antes de elegir una solución de base de datos, comprenda los requisitos funcionales
               de su carga de trabajo y cómo interactúa con los datos. Cuando evalúe una solución
               de base de datos, determine si es la más adecuada para cumplir con sus requisitos
               (por ejemplo, transacciones o disponibilidad alta), de modo que pueda seleccionar
               la mejor combinación de bases de datos para utilizarla en su carga de trabajo.
               
               Evalúe bases de datos alternativas que puedan cumplir mejor con sus requisitos de
               carga de trabajo. Por ejemplo, si está creando una aplicación de IoT, puede que sea
               mejor seleccionar una base de datos de series temporales, como Amazon Timestream,
               para almacenar y analizar con facilidad billones de eventos por día a una décima parte
               del costo de las bases de datos relacionales.
               
            
         
         Evalúe las opciones disponibles
Seleccione el tipo de base de datos adecuado para su carga de trabajo: 
               AWS le permite elegir entre muchos motores de bases de datos creadas específicamente,
               incluidas las bases de datos relacionales, de valor clave, documento, en la memoria,
               de gráfico, serie temporal y libro mayor. La cartera de bases de datos construidas
               especialmente de AWS es compatible con modelos de datos diversos y le permite crear
               aplicaciones distribuidas altamente escalables y orientadas a casos de uso. Cuando
               elige la mejor base de datos para resolver un problema específico (o un grupo de problemas),
               puede separarse de las bases de datos monolíticas, universales y restrictivas y centrarse
               en la creación de aplicaciones que satisfagan las necesidades de su empresa.
               
            
            Defina los requisitos de rendimiento de la base de datos: 
               Identifique las métricas de rendimiento de la base de datos importantes para su carga
               de trabajo e implemente los requisitos como parte de un enfoque basado en datos que
               implique puntos de referencia o pruebas de carga. Utilice estos datos para identificar
               las limitaciones de su solución de base de datos y examine las opciones de configuración
               para resolver el problema.
               
            
            Habilite las opciones de almacenamiento en caché de la base de datos: 
               Evalúe las opciones de almacenamiento en caché de la base de datos, como Amazon ElastiCache
               for Redis para un almacenamiento en caché de la base de datos relacional o Amazon
               DynamoDB Accelerator (DAX) para un almacenamiento en memoria completamente administrado
               y de alta disponibilidad para DynamoDB. Estas opciones pueden ofrecer un mejor rendimiento,
               en algunos casos de milisegundos a microsegundos incluso a millones de solicitudes
               por segundo.
               
            
         
         Recopile y registre métricas de rendimiento de la base de datos
Recopile métricas relacionadas con la base de datos: 
               Diseñe su carga de trabajo para que registre las métricas relacionadas con la actividad
               de la base de datos. Estos datos son fundamentales para comprender la manera en la
               que sus sistemas de base de datos afectan al rendimiento general de su carga de trabajo
               y dónde puede hacer cambios para mejorar el rendimiento y la eficiencia. Por ejemplo,
               el seguimiento de puntos de datos como los tiempos de consulta, el número de transacciones,
               el uso del disco, el uso del índice o las consultas lentas, le permiten optimizar
               sus sistemas de base de datos.
               
            
            Monitoree las métricas: 
               Amazon CloudWatch puede recopilar métricas de los recursos en su arquitectura. También
               puede recopilar y publicar métricas personalizadas para los negocios de superficie
               o métricas derivadas. Utilice CloudWatch o soluciones de terceros para establecer
               alarmas que indiquen cuando se sobrepasan los límites.
               
            
         
         Elija el almacenamiento de datos en función de los patrones de acceso
Utilice los patrones de acceso para determinar el almacenamiento de datos: 
               Evalúe los patrones de acceso de su carga de trabajo para encontrar un patrón de almacenamiento
               de datos adecuado. Por ejemplo, si su carga de trabajo requiere un acceso de consulta
               ad hoc, puede seleccionar una base de datos relacional como Amazon RDS. Si su carga
               de trabajo es impulsada por una tasa de crecimiento alta o eventos de alto tráfico,
               debe seleccionar una base de datos de valor clave, como Amazon DynamoDB.
               
            
         
         Optimice el almacenamiento de datos en función de los patrones de acceso y las métricas
Optimice el almacenamiento de datos en función de métricas y patrones: 
               Use las métricas registradas para identificar cualquier área de bajo rendimiento en
               su carga de trabajo y optimizar los componentes de su base de datos. Cada sistema
               de base de datos tiene diferentes características relacionadas con el rendimiento
               que deben evaluarse, como la forma en que los datos se indexan, se almacenan en caché
               o se distribuyen entre diversos sistemas. Mida el impacto de sus optimizaciones.