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á.
Provisionar infraestrutura ao migrar do Neo4j para o Neptune
Os clusters do Amazon Neptune são criados para serem escalados em três dimensões: armazenamento, capacidade de gravação e capacidade de leitura. As seções abaixo abordam opções específicas a serem consideradas ao migrar.
Provisionar armazenamento
O armazenamento de qualquer cluster do Neptune é provisionado automaticamente, sem nenhuma sobrecarga administrativa de sua parte. Ele é redimensionado dinamicamente em blocos de 10 GB à medida que as necessidades de armazenamento do cluster aumentam. Como resultado, não há necessidade de estimar e provisionar ou provisionar em excesso o armazenamento para lidar com o crescimento futuro dos dados.
Provisionar a capacidade de gravação
O Neptune oferece uma única instância de gravador que pode ser escalada verticalmente para qualquer tamanho de instância disponível na página Preços do Neptune
A escolha de um tamanho ideal de uma instância de gravador exige a execução de testes de carga para determinar o tamanho ideal da instância para a workload. Qualquer instância no Neptune pode ser redimensionada a qualquer momento modificando a classe da instância de banco de dados. É possível estimar o tamanho da instância inicial com base na simultaneidade e na latência média da consulta, conforme descrito abaixo em Estimar o tamanho ideal da instância ao provisionar o cluster.
Provisionar a capacidade de leitura
O Neptune foi criado para escalar instâncias de réplica de leitura horizontalmente, adicionando até 15 delas a um cluster (ou mais em um banco de dados global do Neptune) e verticalmente a qualquer tamanho de instância disponível na página Preços do Neptune
Além de permitir a escalabilidade horizontal das solicitações de leitura em um cluster do Neptune, as réplicas de leitura também atuam como destinos de failover para a instância de gravador a fim de permitir alta disponibilidade. Consulte Diretrizes operacionais básicas do Amazon Neptune para obter sugestões sobre como determinar o número e o posicionamento apropriados das réplicas de leitura no cluster.
Para aplicações em que a conectividade e a workload sejam imprevisíveis, o Neptune também é compatível com um atributo de ajuste de escala automático que pode ajustar automaticamente o número de réplicas do Neptune com base nos critérios especificados.
Para determinar o tamanho e o número ideais das instâncias de réplica de leitura, é necessário realizar testes de carga para determinar as características da workload de leitura que elas devem aceitar. Qualquer instância no Neptune pode ser redimensionada a qualquer momento modificando a classe da instância de banco de dados. É possível estimar o tamanho da instância inicial com base na simultaneidade e na latência média da consulta, conforme descrito na próxima seção.
Use o Neptune Serverless para escalar instâncias de leitura e gravação automaticamente, conforme necessário
Embora muitas vezes seja útil poder estimar a capacidade computacional que as workloads previstas exigirão, você pode configurar o atributo Neptune Serverless para aumentar e reduzir verticalmente a escala da capacidade de leitura e gravação de modo automático. Isso pode ajudar você a atender aos requisitos de pico e, ao mesmo tempo, reduzir automaticamente quando a demanda diminui.
Estimar o tamanho ideal da instância ao provisionar o cluster
A estimativa do tamanho ideal da instância exige conhecer a latência média da consulta no Neptune, quando a workload está em execução, bem como o número de consultas simultâneas processadas. Uma estimativa aproximada do tamanho da instância pode ser calculada como a latência média da consulta multiplicada pelo número de consultas simultâneas. Isso fornece o número médio de threads simultâneos necessários para lidar com a workload.
Cada vCPU em uma instância do Neptune pode aceitar dois threads de consulta simultâneos, portanto, dividir os threads por dois fornece o número de vCPUs necessárias, que podem ser correlacionadas ao tamanho apropriado da instância na página Preços do Neptune
Average Query Latency: 30ms (0.03s) Number of concurrent queries: 1000/second Number of threads needed: 0.03 x 1000 = 30 threads Number of vCPUs needed: 30 / 2 = 15 vCPUs
Correlacionando isso com o número de vCPUs em uma instância, vemos que obtemos uma estimativa aproximada de que a r5.4xlarge
seria a instância recomendada para testar essa workload. Essa estimativa é aproximada e serve apenas para oferecer orientação inicial sobre a seleção do tamanho da instância. Qualquer aplicação deve passar por um exercício de dimensionamento correto para determinar o número e os tipos apropriados de instâncias adequadas à workload.
Os requisitos de memória também devem ser levados em consideração, assim como os requisitos de processamento. O Neptune tem melhor desempenho quando os dados acessados pelas consultas estão disponíveis no cache do grupo de buffer da memória principal. O provisionamento de memória suficiente também pode reduzir significativamente os custos de E/S.
Mais detalhes e orientações sobre o dimensionamento de instâncias em um cluster do Neptune podem ser encontrados na página Dimensionar instâncias de banco de dados em um cluster de banco de dados do Neptune.