Compartir a través de


Partición alrededor de límites

Uso de particiones para solucionar los límites de base de datos, red y proceso

En la nube, todos los servicios tienen límites en su capacidad para escalar verticalmente. Los límites de servicio de Azure se documentan en límites de suscripción y servicio de Azure, cuotas y restricciones. Los límites incluyen el número de núcleos, el tamaño de la base de datos, el rendimiento de las consultas y el rendimiento de red. Si el sistema crece lo suficientemente grande, puede alcanzar uno o varios de estos límites. Use la creación de particiones para solucionar estos límites.

Hay muchas maneras de crear particiones de un sistema, como:

  • Cree particiones de una base de datos para evitar límites en el tamaño de la base de datos, la E/S de datos o el número de sesiones simultáneas.

  • Particione una cola o bus de mensajes para evitar límites en el número de solicitudes o el número de conexiones simultáneas.

  • Cree particiones de una aplicación web de App Service para evitar límites en el número de instancias por plan de App Service.

Una base de datos se puede particionar horizontal,vertical o funcionalmente.

  • En la creación de particiones horizontales, también denominada particionamiento, cada partición contiene datos para un subconjunto del conjunto de datos total. Las particiones comparten el mismo esquema de datos. Por ejemplo, los clientes cuyos nombres comienzan por A-M entran en una partición, N-Z en otra partición.

  • En la creación de particiones verticales, cada partición contiene un subconjunto de los campos de los elementos del almacén de datos. Por ejemplo, coloque los campos a los que se accede con frecuencia en una partición y los campos a los que se accede con menos frecuencia en otro.

  • En el particionamiento funcional, los datos se particionan según cómo se utiliza en cada contexto delimitado del sistema. Por ejemplo, almacene datos de factura en una partición y datos de inventario de productos en otro. Los esquemas son independientes.

Para obtener instrucciones más detalladas, consulte Creación de particiones de datos.

Recomendaciones

Particione diferentes partes de la aplicación. Las bases de datos son una candidata obvia para la creación de particiones, pero también tienen en cuenta el almacenamiento, la caché, las colas y las instancias de proceso.

Diseñe la clave de partición para evitar zonas activas. Si crea particiones en una base de datos, pero una partición sigue recibiendo la mayoría de las solicitudes, no ha resuelto el problema. Idealmente, la carga se distribuye uniformemente entre todas las particiones. Por ejemplo, hash por identificador de cliente y no la primera letra del nombre del cliente, porque algunas letras son más frecuentes. El mismo principio se aplica al crear particiones de una cola de mensajes. Elija una clave de partición que lleve a una distribución uniforme de mensajes en el conjunto de colas. Para más información, consulte Particionamiento.

Particiones en torno a los límites de suscripciones y servicios de Azure. Los componentes y servicios individuales tienen límites, pero también hay límites para suscripciones y grupos de recursos. En el caso de las aplicaciones muy grandes, es posible que tenga que crear particiones en torno a esos límites.

Partición en distintos niveles. Considere la posibilidad de implementar un servidor de base de datos en una máquina virtual. La máquina virtual tiene un disco duro virtual que está respaldado por Azure Storage. La cuenta de almacenamiento pertenece a una suscripción de Azure. Tenga en cuenta que cada paso de la jerarquía tiene límites. El servidor de bases de datos puede tener un límite de grupo de conexiones. Las máquinas virtuales tienen límites de CPU y red. El almacenamiento tiene límites de IOPS. La suscripción tiene límites en el número de núcleos de máquina virtual. Por lo general, es más fácil crear particiones inferiores en la jerarquía. Solo las aplicaciones grandes deben tener que crear particiones en el nivel de suscripción.