Clústeres e instancias de base de datos de Amazon 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.

Clústeres e instancias de base de datos de Amazon Neptune

Un clúster de base de datos de Amazon Neptune administra el acceso a sus datos mediante consultas. Un clúster se compone de:

  • Una instancia de base de datos principal .

  • Hasta 15 instancias de base de datos de réplica de lectura.

Todas las instancias de un clúster comparten el mismo volumen de almacenamiento administrado subyacente, que está diseñado para ofrecer fiabilidad y alta disponibilidad.

Para conectarse a las instancias de base de datos de su clúster de base de datos, debe utilizar los puntos de conexión de Neptune.

La instancia de base de datos principal de un clúster de base de datos de Neptune

La instancia de base de datos principal coordina todas las operaciones de escritura en el volumen de almacenamiento subyacente del clúster de base de datos. También admite operaciones de lectura.

Solo puede haber una instancia de base de datos principal en un clúster de base de datos de Neptune. Si la instancia principal deja de estar disponible, Neptune conmuta automáticamente por error a una de las instancias de réplica de lectura con una prioridad que puede especificar.

Instancias de base de datos de réplica de lectura en un clúster de base de datos de Neptune

Después de crear la instancia principal de un clúster de base de datos, puede crear un máximo de 15 réplicas de lectura en el clúster de base de datos para permitir las consultas de solo lectura.

Las instancias de base de datos de réplica de lectura de Neptune funcionan bien para escalar la capacidad de lectura porque están totalmente dedicadas a operaciones de lectura en el volumen de su clúster. Todas las operaciones de escritura se administran en la instancia principal. Cada instancia de base de datos de réplica de lectura tiene su propio punto de conexión.

Como el volumen de almacenamiento del clúster se comparte entre todas las instancias de un clúster, todas las instancias de réplica de lectura devuelven los mismos datos para los resultados de las consultas con un retardo de replicación muy reducido. Este retardo suele ser muy inferior a 100 milisegundos después de que la instancia principal escriba una actualización, aunque puede ser algo mayor cuando el volumen de operaciones de escritura es muy grande.

Tener una o más instancias de réplica de lectura disponibles en distintas zonas de disponibilidad puede aumentar la disponibilidad, ya que las réplicas de lectura sirven como destinos de conmutación por error para la instancia principal. Es decir, si la instancia principal falla, Neptune promueve una instancia de réplica de lectura para convertirla en la instancia primaria. Cuando esto ocurre, se produce una breve interrupción mientras se reinicia la instancia promovida, durante la cual las solicitudes de lectura y escritura que se realizan a la instancia principal fallan con una excepción.

Por el contrario, si su clúster de base de datos no incluye ninguna instancia de réplica de lectura, su clúster de base de datos seguirá sin estar disponible cuando la instancia principal falle hasta que se vuelva a crear. Volver a crear la instancia principal lleva mucho más tiempo que promover una réplica de lectura.

Para garantizar una alta disponibilidad, le recomendamos que cree una o más instancias de réplica de lectura que tengan la misma clase de instancia de base de datos que la instancia principal y que estén ubicadas en zonas de disponibilidad diferentes a las de la instancia principal. Consulte Tolerancia a errores para un clúster de base de datos de Neptune.

Con la consola, puede crear un despliegue Multi-AZ especificando Multi-AZ al crear una instancia de clúster de base de datos. Si un clúster de base de datos se encuentra en una única zona de disponibilidad, puede convertirlo en un clúster de base de datos Multi-AZ añadiendo una réplica de Neptune en una zona de disponibilidad diferente.

nota

No puede crear una instancia de réplica de lectura cifrada para un clúster de base de datos de Neptune sin cifrar ni una instancia de réplica de lectura sin cifrar para un clúster de base de datos de Neptune cifrado.

Para obtener más información sobre cómo crear una instancia de base de datos de réplica de lectura de Neptune, consulte Creación de una instancia de lector de Neptune con la consola.

Dimensionamiento de las instancias de base de datos en un clúster de base de datos de Neptune

Cambie el tamaño de las instancias de su clúster de base de datos de Neptune en función de sus requisitos CPU y de memoria. El número de vCPUs en una instancia determina el número de subprocesos de consulta que gestionan las consultas entrantes. La cantidad de memoria de una instancia determina el tamaño de la memoria caché del búfer, que se utiliza para almacenar copias de las páginas de datos extraídas del volumen de almacenamiento subyacente.

Cada instancia de base de datos de Neptune tiene un número de subprocesos de consulta igual a 2 veces el número de vCPUs en esa instancia. Unar5.4xlarge, por ejemplo, con 16vCPUs, tiene 32 hilos de consulta y, por lo tanto, puede procesar 32 consultas simultáneamente.

Las consultas adicionales que llegan mientras todos los hilos de consulta están ocupados se colocan en una cola del lado del servidor y se procesan a medida que los hilos de FIFO consulta están disponibles. Esta cola del servidor puede contener aproximadamente 8000 solicitudes pendientes. Una vez que esté llena, Neptune responde a las solicitudes adicionales con un ThrottlingException. Puede supervisar el número de solicitudes pendientes con la MainRequestQueuePendingRequests CloudWatch métrica o utilizando el punto final de estado de la consulta de Gremlin con el parámetro. includeWaiting

El tiempo de ejecución de la consulta desde la perspectiva del cliente incluye el tiempo que se pasa en la cola, además del tiempo que se tarda en ejecutar realmente la consulta.

Lo ideal es que una carga de escritura simultánea sostenida que utilice todos los subprocesos de consulta de la instancia de base de datos principal muestre una CPU utilización del 90% o más, lo que indica que todos los subprocesos de consulta del servidor se dedican activamente a realizar un trabajo útil. Sin embargo, CPU la utilización real suele ser algo inferior, incluso con una carga de escritura simultánea sostenida. Esto suele deberse a que los subprocesos de consulta esperan a que se completen las operaciones de E/S del volumen de almacenamiento subyacente. Neptune utiliza escrituras de cuórum para realizar seis copias de los datos en tres zonas de disponibilidad, y cuatro de esos seis nodos de almacenamiento deben reconocer una escritura para que se considere duradera. Mientras un subproceso de consulta espera este quórum desde el volumen de almacenamiento, se detiene, lo que reduce la utilización. CPU

Si tiene una carga de escritura en serie en la que realiza una escritura tras otra y espera a que se complete la primera antes de comenzar la siguiente, puede esperar que la CPU utilización sea aún menor. La cantidad exacta dependerá del número de hilos de consulta vCPUs y de los subprocesos de consulta (cuantos más subprocesos de consulta, menor será el total CPU por consulta), y se reducirá en parte debido a la espera de la E/S.

Para obtener más información acerca de la mejor manera de dimensionar las instancias de base de datos, consulte Elección de tipos de instancias para Amazon Neptune. Para conocer los precios de cada tipo de instancia, consulte la página de precios de Neptune.

Monitorización del rendimiento de las instancias de base de datos en Neptune

Puede utilizar CloudWatch las métricas de Neptune para supervisar el rendimiento de las instancias de base de datos y realizar un seguimiento de la latencia de las consultas observada por el cliente. Consulte Utilización CloudWatch para supervisar el rendimiento de las instancias de base de datos en Neptune.