

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
<a name="migration-provisioning-infrastructure"></a>

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
<a name="migration-provisioning-storage"></a>

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
<a name="migration-provisioning-write-capacity"></a>

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](https://aws.amazon.com/neptune/pricing/). Ao ler e gravar dados em uma instância de gravador, todas as transações são compatíveis com ACID, com isolamento de dados conforme definido em [Níveis de isolamento de transação no Neptune](transactions-neptune.md).

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](manage-console-instances-modify.md). É 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](#migration-provisioning-instance-sizing).

## Provisionar a capacidade de leitura
<a name="migration-provisioning-read-capacity"></a>

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](neptune-global-database.md)) e verticalmente a qualquer tamanho de instância disponível na [página Preços do Neptune](https://aws.amazon.com/neptune/pricing/). Todas as instâncias de réplica de leitura do Neptune usam o mesmo volume de armazenamento subjacente, permitindo a replicação transparente dos dados com o mínimo de atraso.

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](best-practices-general-basic.md) 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](manage-console-autoscaling.md) 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](manage-console-instances-modify.md). É 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](#migration-provisioning-instance-sizing).

## Use o Neptune Serverless para escalar instâncias de leitura e gravação automaticamente, conforme necessário
<a name="migration-provisioning-serverless"></a>

Embora muitas vezes seja útil poder estimar a capacidade computacional que as workloads previstas exigirão, você pode configurar o atributo [Neptune Serverless](neptune-serverless.md) 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 name="migration-provisioning-instance-sizing"></a>

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 suportar dois encadeamentos de consulta simultâneos, portanto, dividir os encadeamentos por 2 fornece o número de v CPUs necessário, que pode ser correlacionado ao tamanho apropriado da instância na página de preços do Neptune.](https://aws.amazon.com/neptune/pricing/) Por exemplo:

```
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 v CPUs em uma instância, vemos que obtemos uma estimativa aproximada de que a `r5.4xlarge` seria a instância recomendada para testar essa carga de trabalho. 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. Provisionar memória suficiente também pode reduzir significativamente I/O os custos.

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](feature-overview-db-clusters.md#feature-overview-sizing-instances).