La función serverless ofrece capacidades de escalado dinámico para los clústeres de PolarDB. Cada nodo del clúster escala verticalmente en cuestión de segundos para absorber aumentos repentinos de carga de trabajo, sin afectar las operaciones del negocio. Cuando la carga disminuye, los nodos reducen su tamaño para ahorrar costos.
Con la función Serverless, no necesita preocuparse por la configuración de recursos del clúster de base de datos al crear y usar bases de datos. A continuación se muestran los cambios en el uso de recursos y las especificaciones de un clúster común y de un clúster serverless cuando la carga de trabajo fluctúa:
|
|
|
Descripción general
La función serverless proporciona elasticidad en tiempo real para los recursos de CPU, memoria, almacenamiento y red. Ofrece aislamiento vertical de recursos para la red y el almacenamiento, admite la facturación pay-as-you-go y permite la asignación elástica de recursos de cómputo y almacenamiento. Así, usted ajusta de forma independiente la capacidad de cómputo y almacenamiento para manejar las fluctuaciones de la carga de trabajo. De este modo, responde rápidamente a los cambios del negocio mientras optimiza los costos y mejora la eficiencia.
Elemento | Descripción |
Formatos |
|
Método de escalado |
|
PCU (PolarDB Capacity Unit) | La función serverless utiliza la PCU (PolarDB Capacity Unit) como unidad para la facturación por segundo y la elasticidad de recursos. Una PCU equivale aproximadamente a la capacidad de cómputo de 1 vCPU y 2 GB de memoria. La PCU de un nodo se ajusta de forma dinámica según la carga de trabajo, dentro de un rango que usted especifique. El incremento mínimo de escalado es de 0.5 PCU. |
Formatos
Clúster serverless | Serverless para clústeres con especificaciones definidas |
Nota
|
Nota
|
Escalado elástico
Desencadenantes de escalado vertical y horizontal
-
Escalado vertical (scale-up)
PolarDB monitorea la utilización de CPU, el uso de memoria y otras métricas a nivel de kernel de los nodos principales y de solo lectura. Durante un periodo de monitoreo, el sistema suele desencadenar un escalado vertical de un nodo cuando se cumple alguna de las siguientes condiciones:
La utilización de CPU supera el umbral preestablecido (predeterminado: 80%).
-
El uso de memoria supera un umbral específico:
Formato serverless
Umbral de escalado vertical
Clúster serverless
90%
Función serverless para clústeres con especificaciones definidas
Menor o igual a 32 GB
90%
64 GB
92%
128 GB
96%
De 256 GB a 512 GB
98%
Otras especificaciones de memoria
El escalado vertical no es compatible.
-
Las especificaciones de un nodo de solo lectura son menores a la mitad de las del nodo principal.
Por ejemplo, si un nodo de solo lectura tiene especificaciones de 4 PCU y el nodo principal tiene especificaciones de 10 PCU, el nodo de solo lectura escala verticalmente hasta alcanzar como mínimo 5 PCU.
-
Escalado horizontal (scale-out)
Si un nodo de solo lectura de un clúster ya escaló verticalmente hasta su límite máximo configurado y aún cumple las condiciones para escalar (por ejemplo, su utilización de CPU supera el umbral personalizado), se desencadena un escalado horizontal.
Desencadenantes de reducción vertical y horizontal
-
Escalado vertical (scale-down)
Se desencadena una reducción vertical en un nodo cuando su utilización de CPU cae por debajo del umbral personalizado (predeterminado: 50%) y su uso de memoria está por debajo de un umbral específico. Los umbrales de uso de memoria son los siguientes:
Formato serverless
Umbral de reducción vertical
Clúster serverless
80%
Función serverless para clústeres con especificaciones definidas
Menor o igual a 32 GB
80%
64 GB
86%
128 GB
90%
De 256 GB a 512 GB
94%
Otras especificaciones de memoria
El escalado vertical no es compatible, por lo que no aplica ningún umbral de reducción.
-
Escalado horizontal (scale-in)
Se desencadena una reducción horizontal en un nodo de solo lectura si su utilización de CPU se mantiene por debajo del 15% y la utilización de CPU de todos los demás nodos de solo lectura permanece por debajo del 60% durante un periodo continuo de 15 a 30 minutos.
NotaPara evitar inestabilidad en los nodos, solo se reduce un nodo de solo lectura a la vez. El periodo de enfriamiento entre reducciones consecutivas es de 15 a 30 minutos.
Para reducir de inmediato todos los nodos de solo lectura, modifique Serverless Configuration. Si establece tanto Maximum Number of Read-only Nodes como Minimum Number of Read-only Nodes en 0, se desencadena de inmediato la reducción de todos los nodos de solo lectura.
El rango de escalado depende de la cantidad mínima y máxima de nodos de solo lectura y de los límites de escalado por nodo que usted configure. Para obtener más información, consulte Set scaling policies for a Serverless cluster o Set a scaling policy for serverless resources.
Las métricas que desencadenan el escalado varían según los distintos parámetros y las configuraciones serverless. Personalice el umbral de utilización de CPU; sin embargo, no es posible modificar los umbrales de las demás métricas.
Cuando un clúster experimenta un aumento repentino de carga de trabajo, sus nodos no escalan a la capacidad objetivo en un solo paso. En su lugar, escalan de forma incremental hasta acercarse a la capacidad que requiere la carga actual. El incremento mínimo de escalado es de 0.5 PCU. Para adaptarse más rápido al tráfico, el incremento de escalado se ajusta automáticamente en eventos posteriores según el uso actual de PCU.
Para recibir notificaciones oportunas cuando los nodos del clúster reduzcan su tamaño o cantidad, configure reglas de alerta en Performance Monitoring desde la consola. Para conocer los detalles sobre cómo configurar reglas de alerta, consulte Create an alert rule.
Beneficios
La función serverless escala dinámicamente los recursos del clúster en segundos, según la carga de trabajo. Esta función ofrece los siguientes beneficios:
-
Alta disponibilidad
La arquitectura multinodo garantiza la alta disponibilidad de los clústeres serverless. Los clústeres serverless ofrecen el mismo acuerdo de nivel de servicio (SLA) que los clústeres comunes para asegurar la estabilidad.
-
Gran escalabilidad
-
Amplio rango de escalado
Un solo clúster escala entre 0 y 1,000 núcleos de CPU sin interrumpir el negocio.
-
Escalabilidad en segundos
La detección de la carga de trabajo se completa en cinco segundos. Cuando la carga aumenta, los recursos del clúster escalan verticalmente en menos de un segundo. Si la carga disminuye, los recursos se reducen automáticamente de forma gradual.
-
Sin interrupciones del negocio
El proceso de escalado no afecta las operaciones del negocio.
-
-
Fuerte consistencia de datos
Se proporciona Global consistency (high-performance mode). Los clústeres admiten una fuerte consistencia de datos. Los datos se leen de inmediato después de escribirlos en los nodos de solo lectura, con un rendimiento casi idéntico al del modo de consistencia débil.
-
Rentabilidad
Los clústeres serverless se facturan en PCU mediante el método de facturación pay-as-you-go. Esto reduce los costos hasta en un 80%.
-
Cero operación y mantenimiento
El equipo de PolarDB serverless se encarga de todas las tareas de operación y mantenimiento, como actualizaciones del sistema, despliegue, escalado y procesamiento de alertas. Estas operaciones se ejecutan en segundo plano y no afectan los servicios en ejecución dentro del sistema. Así se garantiza la entrega continua del servicio y usted puede concentrarse en desarrollar su negocio.
Escenarios
Clústeres serverless
Escenarios donde la carga de trabajo fluctúa drásticamente.
Escenarios con acceso poco frecuente a bases de datos, como las bases de datos de entornos de desarrollo y pruebas.
Escenarios que involucran tareas programadas intermitentes, como clases y prácticas de estudiantes.
Escenarios que manejan cargas de trabajo irregulares e impredecibles, como IoT y edge computing.
Escenarios que requieren reducir los costos de operación y mantenimiento, además de mejorar su eficiencia.
Clústeres serverless con especificaciones definidas
Escenarios donde la carga de trabajo fluctúa drásticamente.
Escenarios que manejan cargas de trabajo irregulares e impredecibles, como IoT y edge computing.
Escenarios que requieren reducir los costos de operación y mantenimiento, además de mejorar su eficiencia.
Escenarios que necesitan cubrir requisitos de fluctuación a partir de clústeres de PolarDB existentes.
Requisitos previos
Clústeres serverless
Los clústeres que ejecutan el motor de base de datos MySQL 5.6 no son compatibles.
Los clústeres con arquitectura de CPU ARM YiTian no son compatibles.
Serverless para clústeres con especificaciones definidas
Para habilitar la función serverless en un clúster con especificaciones definidas, el clúster debe cumplir los siguientes requisitos de versión:
-
Versión del motor:
MySQL 5.6: no compatible.
MySQL 5.7: la versión secundaria del motor debe ser 5.7.1.0.29 o posterior.
MySQL 8.0.1: la versión secundaria del motor debe ser 8.0.1.1.30.1 o posterior.
MySQL 8.0.2: la versión secundaria del motor debe ser 8.0.2.2.19 o posterior.
Versión del proxy de base de datos (Proxy): debe ser 2.4.30 o posterior.
Arquitectura de CPU: debe ser x86. YiTian ARM no es compatible.
Límites
Clústeres serverless
-
Las siguientes funciones no son compatibles:
Enterprise Edition: Manual scale-out/scale-in of storage space.
Standard Edition con almacenamiento ESSD: Manual scale-in of storage space.
-
La función Global Database Network (GDN) es compatible, con las siguientes limitaciones:
No es posible habilitar la función No-activity Suspension en ningún clúster del GDN.
-
Si la versión del motor de base de datos cumple las siguientes condiciones, todos los clústeres del GDN deben tener como mínimo un nodo RO:
MySQL 8.0.1 con una versión secundaria del motor anterior a 8.0.1.1.42.
MySQL 8.0.2 con una versión secundaria del motor anterior a 8.0.2.2.23.
La administración automatizada de Serverless sustituye las siguientes operaciones manuales, por lo que no están disponibles: Delete a node, Manually change specifications, Temporary upgrade y Elastic scaling with auto scaling.
La función In-Memory Column Index (IMCI) es compatible, pero asegúrese de que el clúster serverless contenga como mínimo un nodo de solo lectura. Para lograrlo, establezca Minimum Number of Read-only Nodes del clúster serverless en 1 antes de agregar un nodo de almacenamiento columnar de solo lectura.
Serverless para clústeres con especificaciones definidas
Los clústeres de un solo nodo sin proxy de base de datos no admiten la función serverless porque no cumplen los requisitos previos. Para habilitar esta función, add a node. Los clústeres de un solo nodo recién adquiridos que cumplen los requisitos de versión admiten la función serverless de forma predeterminada.
Enterprise Edition: Manual scale-out/scale-in of storage space no es compatible.
-
X-Engine es compatible con clústeres de las siguientes versiones:
PolarDB for MySQL 8.0.1 cuya versión de revisión sea 8.0.1.1.41 o posterior.
PolarDB for MySQL 8.0.2 cuya versión de revisión sea 8.0.2.2.23 o posterior.
-
Global Database Network (GDN) es compatible, pero está sujeto a los siguientes límites:
No es posible habilitar el inicio y la detención automáticos en los clústeres serverless de un GDN.
-
Cada clúster serverless del GDN debe tener como mínimo un nodo de solo lectura si cumple los siguientes requisitos:
PolarDB for MySQL 8.0.1 con versión de revisión 8.0.1.1.42 o posterior.
PolarDB for MySQL 8.0.2 con versión de revisión 8.0.2.2.23 o posterior.
Esta función es mutuamente excluyente con la función Elastic scaling with auto scaling. Si habilita la función Serverless en un clúster con especificaciones definidas, ya no podrá habilitar la función de escalado elástico. Del mismo modo, si habilita la función de escalado elástico en un clúster con especificaciones definidas, ya no podrá habilitar la función Serverless.
Para obtener más información sobre los requisitos de versión y los límites, consulte Enable the serverless feature for a cluster with defined specifications.
Facturación
-
Clústeres serverless
Los cargos incluyen los costos de los nodos de cómputo, el espacio de almacenamiento, el almacenamiento de copias de seguridad (solo por el uso que exceda la cuota gratuita) y SQL Explorer (opcional). Para obtener más información, consulte Serverless billing.
Para consultar sus facturas, vaya a la página Expenses & Costs. En la pestaña Bill Details, seleccione ApsaraDB PolarDB - Serverless en la lista desplegable Product Name. Para obtener más información, consulte View bill details.
-
Función serverless para clústeres con especificaciones definidas
Los cargos se componen del costo del clúster con especificaciones definidas y del costo de los recursos serverless. Para conocer los cargos de los recursos con especificaciones definidas, consulte Billable items. Para conocer los cargos de los recursos serverless, consulte Serverless billing.
