As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como o Amazon DocumentDB Sem Servidor funciona
Tópicos
Visão geral do
O Amazon DocumentDB Sem Servidor é adequado para as workloads mais exigentes e altamente variáveis. Por exemplo, o uso do banco de dados pode ser pesado por um curto período de tempo, seguido por longos períodos de atividade leve ou nenhuma atividade. Alguns exemplos são sites de varejo, jogos ou esportes com eventos promocionais periódicos e bancos de dados que produzem relatórios quando necessário. Outros são ambientes de desenvolvimento e teste e novas aplicações em que o uso pode aumentar rapidamente. Para casos como esses e muitos outros, configurar a capacidade corretamente antecipadamente nem sempre é possível com o modelo provisionado. Também pode resultar em custos mais elevados se você provisionar em excesso e tem capacidade que você não usa.
Em contrapartida, os clusters provisionados do DocumentDB são adequados para workloads estáveis. Com clusters provisionados, você escolhe uma classe de instância que tem uma quantidade predefinida de memória, potência de CPU, I/O largura de banda e assim por diante. Se sua workload for alterada, modifique manualmente a classe da instância do gravador e dos leitores. O modelo provisionado funciona bem quando você pode ajustar a capacidade antes dos padrões de consumo esperados e é aceitável ter breves interrupções enquanto você altera a classe da instância do gravador e dos leitores do cluster.
O DocumentDB Sem Servidor foi arquitetado desde o início para oferecer suporte a clusters com tecnologia sem servidor que sejam instantaneamente escaláveis. O DocumentDB Sem Servidor foi projetado para fornecer o mesmo grau de segurança e isolamento dos gravadores e leitores provisionados. Esses aspectos são cruciais em ambientes de nuvem sem servidor multilocatário. O mecanismo de escalabilidade dinâmica tem muito pouca sobrecarga para que ele possa responder rapidamente às alterações na workload do banco de dados. Também é poderoso o suficiente para atender a aumentos dramáticos na demanda de processamento.
Usando o DocumentDB Sem Servidor, é possível criar um cluster do DocumentDB sem ficar limitado a uma capacidade de banco de dados específica para cada gravador e leitor. Você especifica apenas o intervalo mínimo e máximo de capacidade. O DocumentDB escala cada gravador ou leitor do DocumentDB Sem Servidor no cluster dentro desse intervalo de capacidade. Ao usar um cluster multi-AZ no qual cada gravador ou leitor possa ser escalado dinamicamente, você pode aproveitar a escalabilidade dinâmica e a alta disponibilidade.
O DocumentDB Sem Servidor escala os recursos do banco de dados automaticamente com base nas especificações de capacidade mínima e máxima. A escalabilidade é rápida porque a maioria das operações de eventos de escalabilidade mantém o gravador ou o leitor no mesmo host. Nos raros casos em que um gravador ou leitor do DocumentDB Sem Servidor é movido de um host para outro, o DocumentDB Sem Servidor gerencia as conexões automaticamente. Você não precisa alterar o código da aplicação cliente do seu banco de dados nem suas strings de conexão do banco de dados.
Com o DocumentDB Sem Servidor, como acontece com os clusters provisionados, a capacidade de armazenamento e a capacidade computacional são separadas. Quando nos referimos à capacidade e à escalabilidade do DocumentDB Sem Servidor, é sempre a capacidade computacional que está sendo aumentada ou reduzida. Assim, seu cluster pode conter muitos terabytes de dados, mesmo quando a capacidade da CPU e da memória são reduzidas para níveis baixos.
Em vez de provisionar e gerenciar servidores, você especifica a capacidade do banco de dados. A capacidade real de cada gravador ou leitor do DocumentDB Sem Servidor varia com o tempo, dependendo da workload. Para obter detalhes sobre esse mecanismo, consulte Escalabilidade do Amazon DocumentDB Sem Servidor.
Configurações para clusters do Amazon DocumentDB
Para cada um dos clusters de banco de dados do Amazon DocumentDB, é possível escolher qualquer combinação de capacidade do DocumentDB Sem Servidor, capacidade provisionada ou ambas.
É possível configurar um cluster que contenha a capacidade do DocumentDB Sem Servidor e a capacidade provisionada, denominado cluster de configuração mista. Por exemplo, suponha que você precise de mais read/write capacidade do que a disponível para um gravador sem servidor do DocumentDB. Nesse caso, é possível configurar o cluster com um gravador provisionado muito grande. Então você ainda pode usar o DocumentDB Sem Servidor para os leitores. Ou suponha que a workload de gravação do cluster varie, mas a workload de leitura permaneça estável. Nesse caso, é possível configurar seu cluster com um gravador do DocumentDB Sem Servidor e um ou mais leitores provisionados.
Você também pode configurar um cluster no qual toda a capacidade seja gerenciada pelo DocumentDB Sem Servidor. Para fazer isso, é possível criar um cluster e usar o DocumentDB Sem Servidor desde o início. Ou é possível substituir toda a capacidade provisionada em um cluster existente pelo DocumentDB Sem Servidor. Para saber os procedimentos para criar um cluster com o DocumentDB Sem Servidor ou para alternar um cluster existente para o DocumentDB Sem Servidor, consulte Criação de um cluster de banco de dados que use o Amazon DocumentDB Sem Servidor e Migração para o Amazon DocumentDB Sem Servidor.
Se você nunca usar o DocumentDB Sem Servidor em um cluster, todos os gravadores e leitores no cluster serão provisionados. Esse é o tipo mais comum de cluster que a maioria dos usuários conhece. A capacidade provisionada é constante. As cobranças são relativamente fáceis de prever. No entanto, você precisa prever antecipadamente de quanta capacidade precisa. Em alguns casos, suas previsões podem ser imprecisas ou suas necessidades de capacidade podem mudar. Nesses casos, seu cluster pode ficar subprovisionado (mais lento do que o desejável) ou superprovisionado (mais caro do que o desejável).
Capacidade de escalabilidade Amazon DocumentDB Sem Servidor
A unidade de medida para o Amazon DocumentDB Sem Servidor é a Unidade de capacidade do DocumentDB (DCU). A capacidade de escalabilidade do DocumentDB Sem Servidor não está vinculada às classes de instância que você usa para clusters provisionados.
Cada DCU é uma combinação de aproximadamente 2 gigabytes (GB) de memória, CPU correspondente e rede. É necessário especificar o intervalo de capacidade do banco de dados usando essa unidade de medida. As métricas ServerlessDatabaseCapacity e DCUUtilization CloudWatch ajudam você a determinar quanta capacidade o banco de dados está realmente usando e em que ponto está essa capacidade no intervalo especificado.
A qualquer momento, cada gravador ou leitor do DocumentDB Sem Servidor tem uma capacidade. A capacidade é um número de ponto flutuante representando. DCUs A capacidade aumenta ou diminui sempre que o gravador ou o leitor é escalado. Esse valor é medido a cada segundo. Para cada cluster em que você pretende usar o DocumentDB Sem Servidor, é necessário definir um intervalo de capacidade: os valores mínimo e máximo de capacidade que cada escritor ou leitor do DocumentDB Sem Servidor pode escalar entre eles. O intervalo de capacidade é o mesmo para cada gravador ou leitor do DocumentDB Sem Servidor em um cluster. Cada gravador ou leitor do DocumentDB Sem Servidor tem sua própria capacidade, inserindo-se em algum ponto desse intervalo.
O DocumentDB serverless é suportado no DocumentDB 5.0.0 e superior, com uma faixa de capacidade de 0,5 a 256. DCUs
A menor capacidade sem servidor do DocumentDB que você pode definir é 0,5. DCUs É possível especificar um número maior se for menor ou igual ao valor máximo da capacidade com suporte. Definir a capacidade mínima para um número pequeno permite que clusters levemente carregados consumam recursos de computação mínimos. Ao mesmo tempo, eles ficam prontos para aceitar conexões imediatamente e aumentam a escala na vertical quando ficam ocupados.
Recomendamos definir o mínimo como um valor que permita que cada gravador ou leitor mantenha o conjunto de trabalho da aplicação no grupo de buffer. Dessa forma, o conteúdo do grupo de buffer não é descartado durante períodos ociosos. Para conhecer todas as considerações ao escolher o intervalo de capacidade de escalabilidade, consulte Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor.
Dependendo de como você configura os gravadores em uma implantação multi-AZ, as respectivas capacidades podem ser vinculadas à capacidade do gravador ou de forma independente. Para obter detalhes sobre como fazer isso, consulte Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor.
O monitoramento do DocumentDB Sem Servidor envolve medir os valores de capacidade para o gravador e os leitores em seu cluster ao longo do tempo. Se a escala do banco de dados não for reduzida na vertical para a capacidade mínima, será possível realizar ações como ajustar o mínimo e otimizar sua aplicação de banco de dados. Se o banco de dados atingir consistentemente a capacidade máxima, será possível realizar ações como aumentar o máximo. Também é possível otimizar sua aplicação de banco de dados e distribuir a carga de consulta por mais leitores.
As cobranças pela capacidade do DocumentDB Sem Servidor são medidas em termos de horas-DCU. Para obter informações sobre como as cobranças do DocumentDB Sem Servidor são calculadas, consulte a definição de preços do Amazon DocumentDB
Para obter mais detalhes sobre como escolher os valores mínimo e máximo apropriados de DCU, consulte Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor. Os valores mínimo e máximo de DCU que você especifica também afetam alguns limites de instância do Amazon DocumentDB. Para obter detalhes sobre a interação entre o intervalo de capacidade e os limites das instâncias, consulte Limites das instâncias do Amazon DocumentDB Sem Servidor.
Escalabilidade do Amazon DocumentDB Sem Servidor
Para cada gravador ou leitor do DocumentDB Sem Servidor, o Amazon DocumentDB monitora continuamente a utilização de recursos, como CPU, memória e rede. Essas medições são coletivamente denominadas carga. A carga inclui as operações de banco de dados realizadas pela aplicação. Ela também inclui processamento em segundo plano para o servidor de banco de dados e tarefas administrativas do Amazon DocumentDB. Quando a capacidade é restringida por qualquer um desses fatores, o DocumentDB Sem Servidor aumenta a escala verticalmente. O DocumentDB Sem Servidor também aumenta a escala verticalmente quando detecta problemas de performance que possam ser resolvidos ao fazê-lo. É possível monitorar a utilização de recursos e como isso afeta a escalabilidade do DocumentDB Sem Servidor seguindo os procedimentos em Monitoramento do Amazon DocumentDB Sem Servidor.
A carga pode variar entre o gravador e os leitores em seu cluster. O gravador trata as operações de gravação, além de realizar todas as modificações de dados no volume do cluster. Os leitores podem processar solicitações somente de leitura.
Escalabilidade é a operação que aumenta ou diminui a capacidade do DocumentDB Sem Servidor para seu banco de dados. Com o DocumentDB serverless, cada gravador e leitor tem seu próprio valor de capacidade atual, medido em. DCUs O DocumentDB Sem Servidor expande um gravador ou leitor para uma capacidade maior quando a capacidade atual é muito baixa para lidar com a carga. Ele dimensiona o gravador ou o leitor para uma capacidade menor quando sua capacidade atual é maior do que a necessária.
O DocumentDB Sem Servidor pode aumentar a capacidade de forma incremental. Quando sua demanda de carga de trabalho começa a atingir a capacidade atual do banco de dados de um gravador ou leitor, o DocumentDB serverless aumenta o número DCUs desse gravador ou leitor. O DocumentDB Sem Servidor escala a capacidade em incrementos necessários para fornecer a melhor performance para os recursos consumidos. O escalonamento acontece em incrementos tão pequenos quanto 0,5. DCUs Quanto maior a capacidade atual, maior o incremento de escalabilidade e, portanto, com maior rapidez a escalabilidade poderá acontecer.
Como a escalabilidade do DocumentDB Sem Servidor é tão frequente, granular e não disruptiva, ela não causa eventos pontuais no Console de gerenciamento da AWS. Em vez disso, você pode medir as CloudWatch métricas da Amazon, como serverlessDatabaseCapacity eDCUUtilization, e rastrear seus valores mínimo, máximo e médio ao longo do tempo. Para saber mais sobre como monitorar o DocumentDB Sem Servidor, consulte Monitoramento do Amazon DocumentDB Sem Servidor.
O aumento ou a redução da escala na vertical pode ser causada pelo seguinte:
Utilização da memória
Utilização da CPU
Utilização da rede
Utilização de armazenamento
Você pode monitorar essas causas de escalabilidade up/down nas instâncias sem servidor do DocumentDB. Para obter mais informações, consulte Monitoramento do Amazon DocumentDB Sem Servidor.
É possível optar por fazer uma escala do leitor ao mesmo tempo que o gravador associado ou independentemente do gravador. Faça isso especificando o nível de promoção para esse leitor.
Leitores do DocumentDB Sem Servidor, nos níveis de promoção 0 e 1, são escalados ao mesmo tempo que o gravador. Esse comportamento de escalabilidade torna os leitores nos níveis prioritários 0 e 1 ideais para disponibilidade. O motivo disso é que eles são sempre dimensionados para a capacidade certa a fim de assumir a workload do gravador em caso de failover.
Os leitores em níveis de promoção 2 a 15 são escalados independentemente do gravador. Cada leitor permanece dentro dos valores mínimo e máximo de DCU especificados para o cluster. Quando um leitor é escalado independentemente do banco de dados do gravador associado, ele pode ficar ocioso e diminuir a escala na vertical enquanto o gravador continua processando um alto volume de transações. Ele ainda estará disponível como destino de failover, se nenhum outro leitor estiver disponível em níveis de promoção mais baixos. No entanto, se for promovido para ser o gravador, talvez seja necessário aumentar a escala na vertical para lidar com toda a workload do gravador.
Para obter detalhes sobre como visualizar e alterar os níveis de promoção de instâncias com tecnologia sem servidor, consulte Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor.
O escalonamento do DocumentDB Sem Servidor pode ocorrer enquanto as conexões do banco de dados estão abertas, enquanto as transações estão em andamento, etc. O DocumentDB Sem Servidor não espera por um ponto silencioso para começar a escalar. A escalabilidade não interrompe nenhuma operação de banco de dados em andamento.
Se sua workload exigir mais capacidade de leitura do que está disponível com um único gravador e um único leitor, será possível adicionar vários leitores do DocumentDB Sem Servidor ao cluster. Cada leitor do DocumentDB Sem Servidor pode ser escalado dentro dos valores de capacidade mínima e máxima especificadas para o seu cluster. É possível usar o endpoint leitor do cluster para direcionar sessões somente leitura para os leitores e reduzir a carga no gravador.
Se o DocumentDB Sem Servidor realiza ou não a escalabilidade e com que rapidez ela ocorre assim que é iniciada, isso também depende das configurações mínima e máxima de DCU para o cluster. Além disso, depende do fato de um leitor estar ou não configurado para ser escalado junto com o gravador ou independentemente dele. Para obter detalhes sobre a configuração de escalabilidade, consulte Configuração de escalabilidade do Amazon DocumentDB Sem Servidor.
Estado ocioso (0,5 DCUs)
Quando os gravadores ou leitores sem servidor do Amazon DocumentDB estão ociosos, as instâncias sem servidor do DocumentDB suportam a redução para um estado ocioso de 0,5 se o cluster estiver configurado para 0,5. DCUs MinCapacity
No estado ocioso, as instâncias do DocumentDB Sem Servidor não têm capacidade computacional de CPU suficiente para lidar com a maioria das workloads de produção, mas estão prontas para aumentar a escala verticalmente rapidamente para o suporte de uma nova workload. Em um estado não ocioso, as instâncias sem servidor do DocumentDB normalmente exigem pelo menos 1,0 a 2,5. DCUs Portanto, quando as instâncias sem servidor do DocumentDB aumentam de um estado ocioso para um estado não ocioso, elas aumentam diretamente para 1,0 a 2,5 DCUs (ou o valor de, se for menor). MaxCapacity
Para oferecer suporte à redução para 0,5 DCUs quando ociosa, os limites de instância são limitados se a MinCapacity estiver configurada para ser menor ou igual a 1,0. DCUs Para obter mais informações sobre como os limites são afetados pela MinCapacity configuração, consulteLimites das instâncias do Amazon DocumentDB Sem Servidor.