Cómo funciona Amazon DocumentDB sin servidor - Amazon DocumentDB

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.

Cómo funciona Amazon DocumentDB sin servidor

Descripción general

Amazon DocumentDB serverless es adecuado para las cargas de trabajo más exigentes y muy variables. Por ejemplo, el uso de la base de datos puede ser intensivo durante un corto periodo de tiempo, seguido de largos periodos de poca actividad o de ninguna actividad en absoluto. Ejemplos de ello son sitios web de venta minorista, juegos o deportes con eventos promocionales periódicos y bases de datos que generan informes cuando se necesitan. Otros son entornos de desarrollo y pruebas y nuevas aplicaciones en las que el uso podría aumentar rápidamente. Para casos como estos y muchos otros, la configuración correcta de la capacidad por anticipado no siempre es posible con el modelo aprovisionado. También puede resultar en costos más elevados si se aprovisiona en exceso y tiene capacidad que no utiliza.

Por el contrario, los clústeres aprovisionados de DocumentDB son adecuados para cargas de trabajo estables. Con los clústeres aprovisionados, puede elegir una clase de instancia que tenga una cantidad predefinida de memoria, potencia de CPU, ancho de I/O banda, etc. Si la carga de trabajo cambia, modificará manualmente la clase del escritor y los lectores. El modelo aprovisionado funciona bien cuando se puede ajustar con anticipación la capacidad de los patrones de consumo esperados y se aceptan interrupciones breves mientras cambia la clase del escritor y los lectores del clúster.

DocumentDB serverless está diseñado desde cero para admitir clústeres sin servidor que son escalables al instante. DocumentDB serverless está diseñado para proporcionar el mismo grado de seguridad y aislamiento que los lectores y lectores aprovisionados. Estos aspectos son cruciales en entornos de nube sin servidor multitenant. El mecanismo de escalado dinámico tiene muy poca sobrecarga para que pueda responder rápidamente a los cambios en la carga de trabajo de la base de datos. También es lo suficientemente potente como para satisfacer los incrementos drásticos en la demanda de procesamiento.

Al utilizar DocumentDB sin servidor, puede crear un clúster de DocumentDB sin estar limitado a una capacidad de base de datos específica para cada escritor y lector. El usuario especifica el rango mínimo y máximo de capacidad. DocumentDB escala cada lector o grabador sin servidor de DocumentDB del clúster dentro de ese rango de capacidad. Usar un clúster Multi-AZ en el que cada escritor o lector puede escalar dinámicamente permite aprovechar el escalado dinámico y de una alta disponibilidad.

DocumentDB serverless escala los recursos de la base de datos automáticamente en función de sus especificaciones de capacidad mínima y máxima. El escalado es rápido, ya que la mayoría de las operaciones de eventos de escalado mantienen al escritor o al lector en el mismo host. En los raros casos en que un lector o lector sin servidor de DocumentDB se traslada de un host a otro, DocumentDB serverless administra las conexiones automáticamente. No es necesario cambiar el código de la aplicación cliente de base de datos o las cadenas de conexión de base de datos.

Con DocumentDB sin servidor, al igual que con los clústeres aprovisionados, la capacidad de almacenamiento y la capacidad de cómputo están separadas. Cuando nos referimos a la capacidad y el escalamiento sin servidor de DocumentDB, siempre es la capacidad de cómputo la que aumenta o disminuye. Por lo tanto, el clúster puede contener muchos terabytes de datos incluso cuando la capacidad de la CPU y la memoria se reducen a niveles bajos.

En lugar de aprovisionar y administrar los servidores de bases de datos, hay que especificar la capacidad de la base de datos. La capacidad real de cada escritor o lector sin servidor de DocumentDB varía con el tiempo, en función de la carga de trabajo. Para obtener más información sobre este mecanismo, consulte Escalado sin servidor de Amazon DocumentDB.

Configuraciones para clústeres de Amazon DocumentDB

Para cada uno de sus clústeres de Amazon DocumentDB, puede elegir cualquier combinación de capacidad sin servidor de DocumentDB, capacidad aprovisionada o ambas.

Puede configurar un clúster que contenga capacidad aprovisionada y sin servidor de DocumentDB, lo que se denomina clúster de configuración mixta. Por ejemplo, supongamos que necesita más read/write capacidad de la disponible para un escritor sin servidor de DocumentDB. En este caso, puede configurar el clúster con un escritor aprovisionado muy grande. Entonces, aún puede usar DocumentDB sin servidor para los lectores. O, supongamos que la carga de trabajo de escritura del clúster varía pero la carga de trabajo de lectura es estable. En este caso, puede configurar el clúster con un escritor sin servidor de DocumentDB y uno o más lectores aprovisionados.

También puede configurar un clúster en el que DocumentDB sin servidor gestione toda la capacidad. Para ello, puede crear un nuevo clúster y utilizar DocumentDB serverless desde el principio. O bien, puede sustituir toda la capacidad aprovisionada en un clúster existente por DocumentDB serverless. Para conocer los procedimientos para crear un nuevo clúster con DocumentDB sin servidor o para cambiar un clúster existente a DocumentDB sin servidor, consulte y. Creación de un clúster que utilice Amazon DocumentDB sin servidor Migración a Amazon DocumentDB sin servidor

Si no utiliza DocumentDB sin servidor en absoluto en un clúster, se aprovisionarán todos los escritores y lectores del clúster. Este es el tipo de clúster más común con el que están familiarizados la mayoría de los usuarios. La capacidad aprovisionada es constante. Los cargos son relativamente fáciles de pronosticar. No obstante, debe predecir de antemano cuánta capacidad necesita. En algunos casos, las predicciones pueden ser inexactas o las necesidades de capacidad pueden cambiar. En estos casos, el clúster puede estar subaprovisionado (más lento de lo deseado) o sobreaprovisionado (más caro de lo deseado).

Capacidad de escalado sin servidor de Amazon DocumentDB

La unidad de medida de Amazon DocumentDB sin servidor es la unidad de capacidad (DCU) de DocumentDB. La capacidad de escalado sin servidor de DocumentDB no está vinculada a las clases de instancias que utilice para los clústeres aprovisionados.

Cada DCU es una combinación de aproximadamente 2 gibibytes (GiB) de memoria, la CPU correspondiente y la red. El rango de capacidad de la base de datos se especifica mediante esta unidad de medida. Las métricas ServerlessDatabaseCapacity y DCUUtilization CloudWatch le ayudan a determinar cuánta capacidad está utilizando realmente su base de datos y dónde se encuentra dentro del rango especificado.

En cualquier momento, cada escritor o lector sin servidor de DocumentDB tiene una capacidad. La capacidad es un número de punto flotante que representa. DCUs La capacidad aumenta o disminuye cada vez que el escritor o el lector se escalan. Este valor se mide cada segundo. Para cada clúster en el que pretenda utilizar DocumentDB sin servidor, debe definir un rango de capacidad: los valores de capacidad mínima y máxima entre los que puede escalar cada escritor o lector de DocumentDB sin servidor. El rango de capacidad es el mismo para cada lector o escritor sin servidor de DocumentDB de un clúster. Cada lector o escritor sin servidor de DocumentDB tiene su propia capacidad, que se encuentra en algún punto de ese rango.

DocumentDB serverless es compatible con DocumentDB 5.0.0 y versiones posteriores con un rango de capacidad de 0,5 a 256. DCUs

La capacidad sin servidor de DocumentDB más pequeña que puede definir es 0,5. DCUs Puede especificar un número mayor si es menor o igual al valor de capacidad máxima admitida. Si se establece la capacidad mínima en un número pequeño, los clústeres con poca carga consumirán un mínimo de recursos informáticos. Al mismo tiempo, permanecen listos para aceptar conexiones de inmediato y ampliarse cuando están ocupados.

Recomendamos establecer el valor mínimo en un valor que permita a cada escritor o lector almacenar el conjunto de trabajo de la aplicación en el depósito de búferes. De esta forma, el contenido del grupo del búfer no se desecha durante los períodos de inactividad. Para conocer todas las consideraciones a la hora de elegir el rango de capacidad de escalado, consulteSelección del rango de capacidad de escalado para un clúster sin servidor de DocumentDB.

En función de cómo configure los lectores en una implementación multi-AZ, sus capacidades se pueden vincular a la capacidad del escritor o de forma independiente. Para obtener información detallada sobre cómo hacerlo, consulte Visualización y modificación del nivel de promoción de los lectores sin servidor.

La supervisión de DocumentDB sin servidor implica medir los valores de capacidad del escritor y los lectores de su clúster a lo largo del tiempo. Si la base de datos no se reduce a la capacidad mínima, puede realizar acciones como ajustar el mínimo y optimizar la aplicación de base de datos. Si la base de datos alcanza su capacidad máxima de forma coherente, puede realizar acciones como aumentar el máximo. También puede optimizar la aplicación de base de datos y distribuir la carga de consultas entre más lectores.

Los cargos por la capacidad sin servidor de DocumentDB se miden en términos de horas de DCU. Para obtener información sobre cómo se calculan los cargos sin servidor de DocumentDB, consulte los precios de Amazon DocumentDB. Supongamos que el número total de escritores y lectores del clúster es n. En ese caso, el clúster consume aproximadamente n x como mínimo DCUs cuando no se ejecuta ninguna operación de base de datos. La propia Amazon DocumentDB puede ejecutar operaciones de supervisión o mantenimiento que generen una pequeña cantidad de carga. Ese clúster no consume más de n x como máximo DCUs cuando la base de datos se ejecuta a plena capacidad.

Para obtener más información sobre cómo elegir los valores de DCU mínimos y máximos adecuados, consulteSelección del rango de capacidad de escalado para un clúster sin servidor de DocumentDB. Los valores mínimo y máximo de DCU que especifique también afectan a algunos límites de instancias de Amazon DocumentDB. Para obtener más información sobre la interacción entre el rango de capacidad y los límites de las instancias, consulte. Límites de instancias sin servidor de Amazon DocumentDB

Escalado sin servidor de Amazon DocumentDB

Para cada lector o lector sin servidor de DocumentDB, Amazon DocumentDB realiza un seguimiento continuo del uso de recursos como la CPU, la memoria y la red. Estas mediciones se denominan colectivamente carga. La carga incluye las operaciones de base de datos realizadas por la aplicación. También incluye el procesamiento en segundo plano para el servidor de bases de datos y las tareas administrativas de Amazon DocumentDB. Cuando la capacidad se ve limitada por alguno de estos factores, DocumentDB serverless se amplía. DocumentDB serverless también se amplía cuando detecta problemas de rendimiento que puede resolver al hacerlo. Puede supervisar el uso de los recursos y cómo afecta al escalado sin servidor de DocumentDB mediante los procedimientos descritos en. Supervisión de Amazon DocumentDB sin servidor

La carga puede variar según el escritor y los lectores del clúster. El escritor se encarga de las operaciones de escritura y realiza todas las modificaciones de datos en el volumen del clúster. Los lectores pueden procesar solicitudes de solo lectura.

El escalado es la operación que aumenta o reduce la capacidad sin servidor de DocumentDB de la base de datos. Con DocumentDB serverless, cada escritor y lector tiene su propio valor de capacidad actual, medido en. DCUs DocumentDB, sin servidor, escala un grabador o lector hasta una capacidad superior cuando su capacidad actual es demasiado baja para soportar la carga. Escala el escritor o el lector a una capacidad inferior cuando su capacidad en uso es superior a la necesaria.

DocumentDB serverless puede aumentar la capacidad de forma incremental. Cuando la demanda de carga de trabajo comienza a alcanzar la capacidad de base de datos actual de un escritor o lector, DocumentDB serverless aumenta la cantidad de DCUs ese escritor o lector. DocumentDB sin servidor escala la capacidad en los incrementos necesarios para proporcionar el mejor rendimiento de los recursos consumidos. El escalado se produce en incrementos tan pequeños como 0,5. DCUs Cuanto mayor sea la capacidad en uso, mayor será el incremento de escalado y, por lo tanto, más rápido puede producirse el escalado.

Como el escalado sin servidor de DocumentDB es tan frecuente, granular y no disruptivo, no provoca eventos discretos en el. AWS Management Console En su lugar, puedes medir las CloudWatch métricas de Amazon, como serverlessDatabaseCapacity yDCUUtilization, y realizar un seguimiento de sus valores mínimo, máximo y promedio a lo largo del tiempo. Para obtener más información sobre la supervisión de DocumentDB sin servidor, consulte. Supervisión de Amazon DocumentDB sin servidor

El aumento o la reducción de la escala pueden deberse a lo siguiente:

  • Utilización de la memoria

  • Utilización de la CPU

  • Utilización de la red

  • Uso del almacenamiento

Puede supervisar estas causas del escalado up/down en las instancias sin servidor de DocumentDB. Para obtener más información, consulte Supervisión de Amazon DocumentDB sin servidor.

Puede elegir escalar el lector al mismo tiempo que el escritor asociado o independientemente del escritor. Para ello, especifique el nivel de promoción de ese lector.

  • Los lectores sin servidor de DocumentDB, en los niveles de promoción 0 y 1, escalan al mismo tiempo que el escritor. Este comportamiento de escalado hace que los lectores de los niveles prioritarios 0 y 1 sean ideales para disponibilidad. Esto se debe a que siempre tienen el tamaño adecuado para asumir la carga de trabajo de escritura en caso de conmutación por error.

  • Los lectores de los niveles de promoción 2 a 15 escalan independientemente del escritor. Cada lector permanece dentro de los valores de DCU mínimo y máximo que especificó para su clúster. Cuando un lector escala independientemente de la base de datos de escritura asociada, puede pasar a quedar inactiva y reducirse mientras el escritor continúa procesando un gran volumen de transacciones. Sigue disponible como objetivo de conmutación por error si no hay otros lectores disponibles en niveles de promoción más bajos. No obstante, si se promueve para ser el escritor, es posible que tenga que escalar para manejar toda la carga de trabajo del escritor.

Para obtener más información sobre cómo ver y cambiar los niveles de promoción de las instancias sin servidor, consulte. Visualización y modificación del nivel de promoción de los lectores sin servidor

El escalado sin servidor de DocumentDB puede ocurrir mientras las conexiones de la base de datos están abiertas, mientras las transacciones están en proceso, etc. DocumentDB serverless no espera a que llegue un punto de silencio para empezar a escalar. El escalado no interrumpe ninguna operación de base de datos en curso.

Si su carga de trabajo requiere más capacidad de lectura de la que está disponible con un solo escritor y un solo lector, puede añadir varios lectores sin servidor de DocumentDB al clúster. Cada lector sin servidor de DocumentDB puede escalarse dentro del rango de valores de capacidad mínima y máxima que especificó para el clúster. Puede utilizar el punto de conexión del lector del clúster para dirigir las sesiones de solo lectura a los lectores y reducir la carga en el escritor.

El hecho de que DocumentDB sin servidor realice el escalado y de la rapidez con que se produzca el escalado una vez iniciado también depende de la configuración mínima y máxima de DCU del clúster. Además, depende de si un lector está configurado para escalar junto con el escritor o independientemente de él. Para obtener más información sobre la configuración de escalado, consulte. Configuración de escalado sin servidor de Amazon DocumentDB

Estado inactivo (0.5 DCUs)

Cuando los lectores o lectores sin servidor de Amazon DocumentDB están inactivos, las instancias sin servidor de DocumentDB admiten la reducción a un estado inactivo de 0,5 DCUs si el clúster está MinCapacity configurado en 0,5.

En estado inactivo, las instancias sin servidor de DocumentDB no tienen suficiente capacidad de procesamiento de CPU para soportar la mayoría de las cargas de trabajo de producción, pero están listas para ampliarse rápidamente para soportar una nueva carga de trabajo. En un estado no inactivo, las instancias sin servidor de DocumentDB suelen requerir al menos entre 1,0 y 2,5. DCUs Por lo tanto, cuando las instancias sin servidor de DocumentDB escalen de un estado inactivo a un estado no inactivo, se escalarán directamente de 1,0 a 2,5 DCUs (o el valor de MaxCapacity si es inferior).

Para permitir la reducción a 0,5 DCUs cuando están inactivas, los límites de instancias se limitan si se configura para que sea inferior o igual a 1,0. MinCapacity DCUs Para obtener más información sobre cómo afecta la MinCapacity configuración a los límites, consulteLímites de instancias sin servidor de Amazon DocumentDB.