Share via


Compactación de registros en Azure Event Hubs

La compactación de registros es una manera de conservar los datos en Event Hubs mediante la retención basada en claves de evento. Cada tema del centro de eventos o Kafka se crea de forma predeterminada con una retención basada en tiempo o con una directiva de limpieza de eliminación, según la cual los eventos se purgan una vez expirado el tiempo de retención. En vez de usar la retención basada en el tiempo, más rudimentaria, puede usar el mecanismo de retención basado en claves de evento, que hace que Event Hubs vuelva a entrenar el último valor conocido de cada clave de evento de un tema del centro de eventos o Kafka.

Nota

La característica de compactación de registros no se admite en el nivel * Básico.

Como se muestra en la siguiente imagen, un registro de eventos (de una partición del centro de eventos) puede tener varios eventos con la misma clave. Si está usando un centro de eventos compactado, el servicio Event Hubs se encargará de purgar los eventos antiguos y solo mantendrá los eventos más recientes con una clave de evento determinada.

Diagrama que muestra cómo se compacta un tema

Clave de compactación

La clave de partición que se establece con cada evento se usa como clave de compactación.

Marcadores de exclusión

La aplicación cliente puede marcar eventos existentes de un centro de eventos para que se eliminen durante el trabajo de compactación. Estos marcadores se conocen como marcadores de exclusión. Las aplicaciones cliente establecen marcadores de exclusión mediante el envío de un nuevo evento con una clave existente y una carga de evento null.

Cómo funciona la compactación de registros

La compactación de registros se puede habilitar en cada nivel de tema del centro de eventos o Kafka. Se pueden ingerir eventos en un artículo compactado desde cualquier protocolo de soporte. El servicio Azure Event Hubs ejecuta un trabajo de compactación por cada centro de eventos compactado. Un trabajo de compactación limpia cada registro de partición del centro de eventos, conservando solo el evento más reciente con una clave de evento determinada.

Diagrama que muestra cómo funciona la compactación de registros

En cualquier momento dado, el registro de eventos de un centro de eventos compactado puede tener una parte limpia y otra sucia. La parte limpia contiene los eventos compactados por el trabajo de compactación, mientras que la parte sucia contiene los eventos que aún no se han compactado.

El servicio Event Hubs administra la ejecución del trabajo de compactación; el usuario no puede controlarlo. Por lo tanto, el servicio Event Hubs determina cuándo iniciar la compactación y la rapidez con la que compacta un centro de eventos compactado determinado.

Garantías de compactación

La característica de compactación de registros de Event Hubs proporciona las siguientes garantías:

  • La ordenación de los mensajes siempre se mantiene en el nivel de clave y partición. El trabajo de compactación no altera el orden de los mensajes, simplemente descarta los eventos antiguos con la misma clave.
  • El número de secuencia y el desplazamiento de un mensaje nunca cambian.
  • Cualquier consumidor que avance desde el inicio del registro de eventos verá al menos el estado final de todos los eventos en el orden en que se escribieron.
  • Los consumidores todavía pueden ver los eventos marcados para su eliminación durante el tiempo definido por el tiempo de retención del marcador de exclusión (horas).

Casos de uso de compactación de registros

La compactación de registros puede ser útil en escenarios en los que se transmite el mismo conjunto de eventos actualizables. Dado que los centros de eventos compactados solo conservan los eventos más recientes, los usuarios no tienen que preocuparse de posibles aumentos del almacenamiento de eventos. Por eso, la compactación de registros suele usarse en escenarios como las capturas de datos modificados, manteniendo los eventos en tablas para el procesamiento de flujos y el almacenamiento en caché de eventos.

Cuotas y límites

Límite Básico Estándar Premium Dedicado
Tamaño del centro de eventos compacto N/D 1 GB por partición 250 GB por partición 250 GB por partición

Para otras cuotas y límites, consulte Cuotas y límites de Azure Event Hubs.

Pasos siguientes

Para obtener instrucciones sobre cómo usar la compactación de registros en Event Hubs, consulte Uso de la compactación de registros.