Como o Amazon DocumentDB sem servidor funciona - Amazon DocumentDB

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

Visão geral

O Amazon DocumentDB serverless é adequado para as cargas de trabalho 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.

Por outro lado, os clusters provisionados do DocumentDB são adequados para cargas de trabalho 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 serverless foi projetado desde o início para oferecer suporte a clusters sem servidor que são instantaneamente escaláveis. O DocumentDB serverless 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.

Ao usar o DocumentDB serverless, você pode criar um cluster DocumentDB sem ficar preso 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 dimensiona cada gravador ou leitor sem servidor do DocumentDB no cluster dentro dessa faixa 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 serverless dimensiona automaticamente os recursos do banco de dados com base em suas 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 sem servidor do DocumentDB é movido de um host para outro, o DocumentDB serverless 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, assim como com clusters provisionados, a capacidade de armazenamento e a capacidade computacional são separadas. Quando nos referimos à capacidade e escalabilidade sem servidor do DocumentDB, é sempre a capacidade computacional que está aumentando ou diminuindo. 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 sem servidor do DocumentDB varia com o tempo, dependendo da sua carga de trabalho. Para obter detalhes sobre esse mecanismo, consulte Escalabilidade sem servidor do Amazon DocumentDB.

Configurações para clusters do Amazon DocumentDB

Para cada um dos seus clusters do Amazon DocumentDB, você pode escolher qualquer combinação de capacidade sem servidor, capacidade provisionada ou ambas do DocumentDB.

Você pode configurar um cluster que contenha a capacidade provisionada e sem servidor do DocumentDB, chamado de 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 serverless 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, você pode configurar seu cluster com um gravador sem servidor DocumentDB e um ou mais leitores provisionados.

Você também pode configurar um cluster em que toda a capacidade seja gerenciada pelo DocumentDB serverless. Para fazer isso, você pode criar um novo cluster e usar o DocumentDB serverless desde o início. Ou você pode substituir toda a capacidade provisionada em um cluster existente pelo DocumentDB sem servidor. Para obter os procedimentos para criar um novo cluster com o DocumentDB sem servidor ou para alternar um cluster existente para o DocumentDB sem servidor, consulte e. Criação de um cluster que usa o Amazon DocumentDB sem servidor Migração para o Amazon DocumentDB sem servidor

Se você não usa o DocumentDB sem servidor em um cluster, todos os gravadores e leitores do cluster são provisionados. Esse é o tipo mais comum de cluster com o qual a maioria dos usuários está familiarizada. 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 você deseja) ou superprovisionado (mais caro do que você deseja).

Capacidade de escalabilidade sem servidor do Amazon DocumentDB

A unidade de medida para o Amazon DocumentDB serverless é a DocumentDB Capacity Unit (DCU). A capacidade de escalabilidade sem servidor do DocumentDB não está vinculada às classes de instância que você usa para clusters provisionados.

Cada DCU é uma combinação de aproximadamente 2 gibibytes (GiB) de memória, CPU correspondente e rede. Você deve 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 sem servidor do DocumentDB 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, você define uma faixa de capacidade: os valores de capacidade mínima e máxima entre os quais cada gravador ou leitor sem servidor do DocumentDB pode escalar. A faixa de capacidade é a mesma para cada gravador ou leitor sem servidor do DocumentDB em um cluster. Cada gravador ou leitor sem servidor do DocumentDB tem sua própria capacidade, ficando em algum lugar nessa faixa.

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 Você pode especificar um número maior se for menor ou igual ao valor máximo da capacidade suportada. Definir a capacidade mínima para um número pequeno permite que clusters levemente carregados consumam o mínimo de recursos computacionais. 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 para um valor que permita que cada gravador ou leitor mantenha o conjunto de trabalho do aplicativo no buffer pool. Dessa forma, o conteúdo do grupo de buffer não é descartado durante períodos ociosos. Para todas as considerações ao escolher a faixa de capacidade de escalabilidade, consulte. Escolhendo a faixa de capacidade de escalabilidade para um cluster sem servidor DocumentDB

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 Visualizando e modificando o nível de promoção de leitores sem servidor.

O monitoramento do DocumentDB sem servidor envolve medir os valores de capacidade do gravador e dos 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, você poderá 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, você poderá 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 sem servidor do DocumentDB são medidas em termos de horas de DCU. Para obter informações sobre como as cobranças sem servidor do DocumentDB são calculadas, consulte a definição de preço do Amazon DocumentDB. Suponha que o número total de gravadores e leitores no cluster seja n. Nesse caso, o cluster consome aproximadamente n x no mínimo DCUs quando você não está executando nenhuma operação de banco de dados. O próprio Amazon DocumentDB pode executar operações de monitoramento ou manutenção que causem uma pequena quantidade de carga. Esse cluster não consome mais do que n x no máximo DCUs quando o banco de dados está sendo executado com capacidade total.

Para obter mais detalhes sobre como escolher os valores mínimos e máximos de DCU apropriados, consulteEscolhendo a faixa de capacidade de escalabilidade para um cluster sem servidor DocumentDB. 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 a faixa de capacidade e os limites de instância, consulteLimites de instância sem servidor do Amazon DocumentDB.

Escalabilidade sem servidor do Amazon DocumentDB

Para cada gravador ou leitor sem servidor do DocumentDB, 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. 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 serverless aumenta. O DocumentDB serverless também aumenta quando detecta problemas de desempenho que podem ser resolvidos com isso. Você pode monitorar a utilização de recursos e como ela afeta a escalabilidade sem servidor do DocumentDB usando os procedimentos em. Monitoramento do Amazon DocumentDB sem servidor

A carga pode variar entre o escritor e os leitores em seu cluster. O gravador manipula as operações de gravação e executa todas as modificações de dados no volume do cluster. Os leitores podem processar solicitações somente para leitura.

A escalabilidade é a operação que aumenta ou diminui a capacidade sem servidor do DocumentDB 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 serverless dimensiona um gravador ou leitor até uma capacidade maior quando sua 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 serverless 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 serverless dimensiona a capacidade nos incrementos necessários para fornecer o melhor desempenho para os recursos consumidos. O dimensionamento 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 sem servidor do DocumentDB é muito frequente, granular e sem interrupções, ela não causa eventos discretos no. AWS Management Console 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 o monitoramento do DocumentDB sem servidor, consulte. Monitoramento do Amazon DocumentDB sem servidor

A escalabilidade para cima ou para baixo 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.

  • Os leitores sem servidor do DocumentDB, nos níveis de promoção 0 e 1, escalam ao mesmo tempo que o redator. 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 que você especificou para seu 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 sem servidor, consulte. Visualizando e modificando o nível de promoção de leitores sem servidor

O escalonamento sem servidor do DocumentDB pode ocorrer enquanto as conexões do banco de dados estão abertas, enquanto as transações estão em andamento, etc. O DocumentDB serverless 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 carga de trabalho exigir mais capacidade de leitura do que a disponível com um único gravador e um único leitor, você poderá adicionar vários leitores sem servidor do DocumentDB ao cluster. Cada leitor sem servidor do DocumentDB pode ser dimensionado dentro da faixa de valores de capacidade mínima e máxima que você especificou para 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 serverless executa o escalonamento e a rapidez com que o escalonamento ocorre depois de iniciado, também depende das configurações mínimas e máximas de DCU do 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, consulteConfiguração de escalabilidade sem servidor do Amazon DocumentDB.

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 sem servidor do DocumentDB não têm capacidade computacional de CPU suficiente para suportar a maioria das cargas de trabalho de produção, mas estão prontas para serem expandidas rapidamente para suportar uma nova carga de trabalho. 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 de instância sem servidor do Amazon DocumentDB.