Aprovisionamiento de la infraestructura al migrar de Neo4j a Neptune - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Aprovisionamiento de la infraestructura al migrar de Neo4j a Neptune

Los clústeres de Amazon Neptune se han diseñado para reducirse horizontalmente en tres dimensiones: almacenamiento, capacidad de escritura y capacidad de lectura. En las siguientes secciones se analizan las opciones específicas que se deben tener en cuenta al llevar a cabo la migración.

Aprovisionamiento del almacenamiento

El almacenamiento de cualquier clúster de Neptune se aprovisiona automáticamente, sin ningún tipo de sobrecarga administrativa por su parte. Cambia el tamaño de forma dinámica en fragmentos de 10 GB a medida que aumentan las necesidades de almacenamiento del clúster. Como resultado, no hay necesidad de estimar, aprovisionar ni sobreaprovisionar el almacenamiento para gestionar el futuro crecimiento de los datos.

Aprovisionamiento de la capacidad de escritura

Neptune proporciona una instancia única de escritor que se puede escalar verticalmente a cualquier tamaño de instancia disponible en la página de precios de Neptune. Al leer y escribir los datos en una instancia de escritor, todas las transacciones cumplen con las normas ACID, con el aislamiento de datos, tal y como se define en Niveles de aislamiento de transacciones en Neptune.

Para elegir un tamaño óptimo para una instancia de escritor, es necesario ejecutar pruebas de carga para determinar el tamaño de instancia óptimo para la carga de trabajo. Para cambiar el tamaño de cualquier instancia de Neptune en cualquier momento, modifique la clase de instancia de base de datos. Puede estimar el tamaño de una instancia inicial en función de la simultaneidad y la latencia media de las consultas, tal y como se describe a continuación en Estimación del tamaño óptimo de la instancia al aprovisionar el clúster.

Aprovisionamiento de la capacidad de lectura

Neptune se ha diseñado para escalar las instancias de lectura de réplica tanto horizontalmente, añadiendo hasta 15 de ellas dentro de un clúster (o más en una base de datos global de Neptune), como verticalmente a cualquier tamaño de instancia disponible en lapágina de precios de Neptune. Todas las instancias de réplica de lectura de Neptune utilizan el mismo volumen de almacenamiento subyacente, lo que permite la replicación transparente de los datos con un retraso mínimo.

Además de permitir el escalado horizontal de las solicitudes de lectura dentro de un clúster de Neptune, las réplicas de lectura también actúan como objetivos de conmutación por error para la instancia de escritor con el fin de que haya alta disponibilidad. Consulte Directrices operativas básicas de Amazon Neptune para obtener sugerencias sobre cómo determinar el número y la ubicación adecuados de las réplicas de lectura en el clúster.

Para las aplicaciones en las que la conectividad y la carga de trabajo son impredecibles, Neptune también admite una característica de escalado automático que puede ajustar automáticamente el número de réplicas de Neptune en función de los criterios que especifique.

Para determinar el tamaño y la cantidad óptimos de instancias de réplica de lectura, es necesario ejecutar pruebas de carga para determinar las características de la carga de trabajo de lectura que deben admitir. Para cambiar el tamaño de cualquier instancia de Neptune en cualquier momento, modifique la clase de instancia de base de datos. Puede estimar el tamaño de una instancia inicial en función de la simultaneidad y la latencia media de las consultas, tal y como se describe en la siguiente sección.

Uso de Neptune sin servidor para escalar las instancias de lector y escritor automáticamente según sea necesario

Si bien a menudo resulta útil poder estimar la capacidad de cómputo que requerirán las cargas de trabajo previstas, puede configurar la característica Neptune sin servidor para escalar y reducir verticalmente de forma automática la capacidad de lectura y escritura. Esto puede ayudarle a hacer frente a los requisitos de máxima demanda y, al mismo tiempo, reducirla automáticamente cuando la demanda disminuya.

Estimación del tamaño óptimo de la instancia al aprovisionar el clúster

La estimación del tamaño óptimo de la instancia requiere conocer la latencia media de consultas en Neptune, cuando se ejecuta la carga de trabajo, así como el número de consultas simultáneas que se estén procesando. Para calcular una estimación aproximada del tamaño de la instancia, multiplique la latencia media de las consultas por el número de consultas simultáneas. Esto le proporciona el número medio de subprocesos simultáneos necesarios para gestionar la carga de trabajo.

Cada vCPU de una instancia de Neptune puede admitir dos subprocesos de consulta simultáneos, por lo que dividir los subprocesos entre dos proporciona la cantidad de vCPU necesarias, que luego se puede correlacionar con el tamaño de instancia adecuado en la página de precios de Neptune. Por ejemplo:

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

Al correlacionar esto con la cantidad de vCPU en una instancia, obtenemos una estimación aproximada de que r5.4xlarge sería la instancia recomendada para intentar esta carga de trabajo. Esta estimación es aproximada y solo pretende proporcionar una orientación inicial sobre la selección del tamaño de la instancia. Cualquier solicitud debe someterse a un ejercicio de ajuste de tamaño adecuado para determinar el número y los tipos de instancias adecuados para la carga de trabajo.

También se deben tener en cuenta los requisitos de memoria, así como los requisitos de procesamiento. Neptune es más eficaz cuando los datos a los que acceden las consultas están disponibles en la caché del grupo de búferes de la memoria principal. El aprovisionamiento de suficiente memoria también puede reducir considerablemente los costos de E/S.

Puede encontrar información e instrucciones adicionales sobre el tamaño de las instancias en un clúster de Neptune en la página Dimensionamiento de las instancias de base de datos en un clúster de base de datos de Neptune.