Esse conteúdo está desatualizado. Esta versão da Well-Architected Framework agora pode ser encontrada em:  https://docs.aws.amazon.com/pt_br/wellarchitected/2022-03-31/framework/performance-efficiency.html
     
 
         PERF 4: Como você seleciona sua solução de banco de dados?
         
         
            A solução de banco de dados ideal para um sistema varia conforme os requisitos de
            disponibilidade, consistência, tolerância da partição, latência, durabilidade, escalabilidade
            e capacidade de consulta. Muitos sistemas usam soluções de banco de dados diferentes
            para vários subsistemas e habilitam diferentes recursos para melhorar a performance.
            Selecionar a solução e os recursos de banco de dados incorretos para um sistema pode
            levar a uma menor eficiência.
            
         
         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
               
         Melhores práticas:
         
            - 
               Entenda as características dos dados: 
                  Entenda as diferentes características dos dados em sua carga de trabalho. Determine
                  se a carga de trabalho requer transações, como ela interage com dados e quais são
                  as demandas de performance dela. Use esses dados para selecionar a abordagem de melhor
                  performance para seu banco de dados (p. ex., bancos de dados relacionais, de chave-valor
                  em NoSQL, documentos, coluna ampla, gráficos, série temporal ou armazenamento em memória).
                  
                
- 
               Avalie as opções disponíveis: 
                  Avalie os serviços e as opções de armazenamento disponíveis como parte do processo
                  de seleção para os mecanismos de armazenamento de sua carga de trabalho. Entenda como
                  e quando usar um determinado serviço ou sistema para armazenamento de dados. Conheça
                  as opções de configuração disponíveis que podem otimizar a performance ou a eficiência
                  do banco de dados, como IOPS provisionadas, recursos de computação e memória, além
                  de armazenamento em cache.
                  				
                
- 
               Colete e registre métricas de performance do banco de dados: 
                  Use ferramentas, bibliotecas e sistemas que registram as medidas de performance relacionadas
                  ao banco de dados. Por exemplo, meça transações por segundo, consultas lentas ou latência
                  do sistema introduzida ao acessar o banco de dados. Use esses dados para entender
                  a performance de seus sistemas de banco de dados.
                  
                
- 
               Escolha o armazenamento de dados conforme os padrões de acesso: 
                  Use os padrões de acesso da carga de trabalho para decidir que serviços e tecnologias
                  usar. Por exemplo, utilize um banco de dados relacional para cargas de trabalho que
                  exigem transações, ou um repositório de chave-valor que forneça um throughput maior,
                  mas que seja eventualmente consistente quando aplicável.
                  					 
                
- 
               Otimize o armazenamento de dados conforme as métricas e os padrões de acesso: 
                  Use características de performance e padrões de acesso que otimizem o modo como os
                  dados são armazenados ou consultados para obter a melhor performance possível. Meça
                  como otimizações, p. ex., indexação, distribuição de chave, design do data warehouse
                  ou estratégias de armazenamento em cache afetam a performance do sistema ou a eficiência
                  geral.
                  
                
Plano de melhoria
         Entenda as características dos dados
Características de dados de pesquisa e documento: 
               Antes de escolher uma solução de banco de dados, entenda os requisitos funcionais
               de sua carga de trabalho e como ela interage com os dados. Ao avaliar uma solução
               de banco de dados, determine se ela é a mais adequada para atender a seus requisitos
               (por exemplo, transações ou alta disponibilidade), de modo que você possa selecionar
               a melhor combinação de bancos de dados a serem usados para sua carga de trabalho.
               
               Avalie bancos de dados alternativos que atendam melhor aos seus requisitos de carga
               de trabalho. Por exemplo, se você estiver criando um aplicativo de IoT, talvez seja
               melhor selecionar um banco de dados de séries temporais, como o Amazon Timestream,
               para armazenar e analisar facilmente trilhões de eventos por dia a um décimo do custo
               dos bancos de dados relacionais.
               
            
         
         Avalie as opções disponíveis
Selecione o tipo de banco de dados apropriado para sua carga de trabalho: 
               Na AWS, você pode escolher entre vários mecanismos de banco de dados de finalidade
               específica, inclusive bancos de dados relacionais, de chave-valor, documentos, em
               memória, gráficos, séries temporais e livro contábeis. O portfólio de bancos de dados
               de uso específico da AWS oferece suporte a diversos modelos de dados e permite que
               você crie aplicativos distribuídos altamente escaláveis e voltados a casos de uso.
               Ao escolher o melhor banco de dados para resolver um problema específico (ou um grupo
               de problemas), você pode se libertar de bancos de dados monolíticos genéricos restritivos
               e se concentrar na criação de aplicativos para atender às necessidades dos seus negócios.
               
            
            Defina os requisitos de performance do banco de dados: 
               Identifique as métricas de performance do banco de dados relevantes para sua carga
               de trabalho e implemente os requisitos como parte de uma abordagem impulsionada por
               dados, usando testes comparativos ou de carga de trabalho. Use esses dados para identificar
               em que ponto sua solução de banco de dados está restrita e examinar as opções de configuração
               que poderiam resolver este problema.
               
            
            Habilite opções de armazenamento em cache do banco de dados: 
               Avalie as opções de armazenamento em cache do banco de dados, como o Amazon ElastiCache
               for Redis para armazenamento em cache de banco de dados relacional ou o Amazon DynamoDB
               Accelerator (DAX) para um cache de memória altamente disponível e gerenciado para
               o DynamoDB. Essas opções podem oferecer melhor performance, em alguns casos de milissegundos
               a microssegundos, mesmo com milhões de solicitações por segundo.
               
            
         
         Colete e registre métricas de performance do banco de dados
Coletar métricas relacionadas ao banco de dados: 
               Projete sua carga de trabalho para registrar métricas relacionadas à atividade do
               banco de dados. Esses dados são cruciais para entender como os sistemas do banco de
               dados estão afetando a performance geral de sua carga de trabalho e em que pontos
               é possível fazer alterações para melhorar a performance e a eficiência. Por exemplo,
               acompanhar pontos de dados como tempos de consulta, número de transações, uso de disco
               e uso de índice ou consultas lentas permite que você otimize seus sistemas de banco
               de dados.
               
            
            Monitore as métricas: 
               O Amazon CloudWatch pode coletar métricas nos recursos em sua arquitetura. Você também
               pode coletar e publicar métricas personalizadas para descobrir métricas de negócio
               ou derivadas. Use o CloudWatch ou soluções de terceiros para definir alarmes que indicam
               quando os limites são violados.
               
            
         
         Escolha o armazenamento de dados conforme os padrões de acesso
Use padrões de acesso para determinar o armazenamento de dados: 
               Avalie os padrões de acesso da carga de trabalho para encontrar o padrão adequado
               de armazenamento de dados. Por exemplo, se sua carga de trabalho exigir acesso de
               consulta ad hoc, você poderá selecionar um banco de dados relacional, como o Amazon
               RDS. Se sua carga de trabalho for impulsionada por uma alta taxa de crescimento ou
               eventos de alto tráfego, você deverá selecionar um banco de dados de chave-valor,
               como o Amazon DynamoDB.
               
            
         
         Otimize o armazenamento de dados conforme as métricas e os padrões de acesso
Otimize o armazenamento de dados conforme as métricas e os padrões: 
               Use as métricas relatadas para identificar todas as áreas com baixa performance na
               carga de trabalho e otimizar os componentes do banco de dados. Cada sistema de banco
               de dados tem características relacionadas a performance diferentes a serem avaliadas,
               como a maneira de indexar, armazenar em cache ou distribuir os dados entre vários
               sistemas. Meça o impacto de suas otimizações.