El almacenamiento agregado por clave de negocio es una mejora de almacenamiento de LogStore en Simple Log Service que escribe los registros de una misma clave de negocio, como un ID de rastreo o un ID de sesión, en el mismo ShardGroup. De lo contrario, esos registros se distribuyen entre todos los shards y cada consulta puntual escanea todo el LogStore, lo que reduce el rendimiento conforme crecen los datos. Habilite esta función para excluir los shards irrelevantes durante la consulta, sin modificar su método de escritura ni la sintaxis de las consultas.
El almacenamiento agregado por clave de negocio solo está disponible actualmente en la región ap-southeast-8. Confirme la región de su LogStore antes de planificar una directiva de clave de negocio.
Escenarios
El almacenamiento agregado por clave de negocio reduce la cantidad de shards que escanea una consulta cuando sus condiciones incluyen de forma consistente filtros de igualdad sobre los mismos campos de clave de negocio. La siguiente tabla muestra escenarios típicos y las combinaciones recomendadas de claves de negocio.
|
Escenario |
Clave de negocio recomendada |
Ventaja |
|
Solución de problemas de rastreo |
|
Reduce el rango de escaneo de shards al consultar una sola cadena de llamadas, por lo que los registros de rastreo se obtienen más rápido. |
|
Observability de aplicaciones con agentes |
|
Almacena juntas las llamadas a modelos, llamadas a herramientas, recuperaciones, operaciones de memoria y anomalías de una ejecución de agente, lo que acelera las consultas de rastreo. |
|
Análisis de sesiones de usuario |
|
Devuelve rápidamente los registros completos de comportamiento de un usuario o una sesión. |
|
Solución de problemas de pedidos y transacciones |
|
Localiza con rapidez excepciones en pedidos, fallos de pago y problemas en la cadena de transacciones. |
|
Registros de acceso de host y cliente |
|
Agrupa los registros de acceso del mismo origen, cliente o nombre de dominio para facilitar la solución de problemas. |
|
Registros de IoT y dispositivos |
|
Devuelve con rapidez los registros de operación, alerta y conexión de un solo dispositivo. |
|
Auditoría de seguridad y rastreo de ataques |
|
Rastrea los registros de comportamiento de una dirección IP, cuenta, AccessKey o usuario específicos. |
Escenarios no adecuados
En los siguientes escenarios, el almacenamiento agregado por clave de negocio aporta ventajas limitadas o genera puntos críticos de escritura. Evalúe sus patrones de consulta y la distribución de datos antes de habilitar esta función.
|
Escenario |
Motivo |
|
Las consultas rara vez contienen una clave de negocio fija |
Simple Log Service no puede excluir shards por clave de negocio, por lo que la ventaja es limitada. |
|
El LogStore tiene muy pocos shards |
Cada ShardGroup contiene muy pocos shards escribibles, lo que limita la capacidad de recuperación ante desastres. |
|
Los valores de la clave de negocio están muy sesgados |
Los valores de los campos de clave de negocio se distribuyen de forma desigual, lo que provoca un sesgo de escritura. Por ejemplo, si un solo |
Si su LogStore coincide con alguno de estos escenarios, revise las configuraciones de shards escribibles en Prerequisites, así como la distribución y cobertura de valores de sus campos candidatos a clave de negocio, antes de decidir si habilita la función.
Requisitos previos
Cree un proyecto y un LogStore. Para obtener instrucciones, consulte Manage projects y Manage LogStores.
Planifique los campos de clave de negocio, como
trace_id,session_id,user_idoorder_id. Elija campos que existan de forma consistente en sus registros, se usen frecuentemente como filtros de consulta y tengan alta selectividad.Compruebe la cantidad de shards escribibles en el LogStore destino. Se recomienda configurar 8 shards escribibles, ya que así cada ShardGroup mantiene aproximadamente 2 shards escribibles y una capacidad adecuada de recuperación ante desastres. También puede habilitar la función con 4 shards escribibles, pero cada ShardGroup conservará solo alrededor de 1 shard escribible y la capacidad de recuperación ante desastres será limitada. Para ver y ajustar la cantidad de shards, consulte Manage shards.
Límites
Los siguientes límites aplican al almacenamiento agregado por clave de negocio:
Regiones compatibles: El almacenamiento agregado por clave de negocio solo está disponible actualmente en la región ap-southeast-8. Otras regiones no son compatibles.
Recursos compatibles: Solo los LogStores admiten el almacenamiento agregado por clave de negocio.
Cantidad de campos de clave de negocio: Debe configurar como mínimo uno y como máximo dos campos de clave de negocio.
Orden de los campos: El orden de los campos participa en el cálculo de rutas. Cambiar el orden de los campos se considera un cambio de directiva.
Valores faltantes o vacíos: Si un campo de clave de negocio no existe o su valor está vacío, se utiliza una cadena vacía en el cálculo del hash.
Cantidad de ShardGroups: La cantidad de ShardGroups debe ser una potencia de 2, como 4, 8, 16, 32 o 64.
Efecto de un cambio de directiva: Una nueva directiva entra en vigor tras un breve retraso y solo aplica a los registros escritos después de su activación. Simple Log Service no redistribuye los datos históricos.
Configurar el almacenamiento agregado por clave de negocio
Active el almacenamiento agregado por clave de negocio al crear un LogStore o configúrelo en la página de propiedades de un LogStore existente. Ambos puntos de entrada exponen los mismos elementos de configuración, y tanto los campos de clave de negocio como la cantidad de ShardGroups tienen el mismo significado en ambos casos.
Habilitar el almacenamiento agregado por clave de negocio en un nuevo LogStore
Inicie sesión en la consola de Simple Log Service.
En la lista de proyectos, haga clic en el proyecto destino.
En la pestaña Log Storage > Logstores, haga clic en el icono +.
En la página Create Logstore, localice el elemento de configuración Business key aggregated storage.
Active el interruptor Business key aggregated storage y luego configure Business key fields y Number of ShardGroups. Para permitir que la consola complete automáticamente una cantidad sugerida de ShardGroups según la cantidad actual de shards escribibles, haga clic en Use recommended value.
Haga clic en OK.
Modificar o desactivar el almacenamiento agregado por clave de negocio en un LogStore existente
Inicie sesión en la consola de Simple Log Service.
En la lista de proyectos, haga clic en el proyecto destino.
En la pestaña Log Storage > Logstores, pase el puntero sobre el LogStore destino y seleccione Modify.
En el panel de navegación izquierdo de la página de propiedades del LogStore, haga clic en Business key aggregated storage.
-
Configure los ajustes de una de las siguientes maneras:
Para habilitar la función o cambiar su configuración, active el interruptor Business key aggregated storage y configure Business key fields y Number of ShardGroups. Cambiar los campos de clave de negocio, su orden o la cantidad de ShardGroups constituye un cambio de directiva, y la nueva directiva solo aplica a los registros escritos después de que el cambio entre en vigor.
Para desactivar la función, desactive el interruptor Business key aggregated storage. Los nuevos registros dejarán de agregarse por clave de negocio y la exclusión por clave de negocio ya no se aplicará a ellos.
-
Haga clic en Save.
Después de desactivar el almacenamiento agregado por clave de negocio, los registros ya escritos permanecen en sus shards originales. Simple Log Service no los migra ni redistribuye, por lo que desactivar la función no provoca pérdida ni reescritura de datos.
Parámetros
La siguiente tabla describe los elementos de configuración del almacenamiento agregado por clave de negocio en la página de creación de LogStore y en la página de propiedades del LogStore.
|
Parámetro |
Descripción |
|
Business key aggregated storage |
Especifica si se habilita el almacenamiento agregado por clave de negocio. Al activar el interruptor, Simple Log Service escribe los registros que comparten una clave de negocio en el mismo ShardGroup. |
|
Business key fields |
Los campos que determinan en qué ShardGroup se escribe un registro. Configure uno o dos campos. |
|
Number of ShardGroups |
La cantidad de grupos lógicos utilizados para la agregación por clave de negocio. El valor debe ser una potencia de 2. (Recomendado) Utilice el valor sugerido por la consola. |
|
Use recommended value |
Calcula la cantidad recomendada de ShardGroups según la cantidad actual de shards escribibles. |
|
Shard data range balance status |
Indica si los rangos de datos de los shards del LogStore actual están equilibrados, lo que ayuda a decidir si es necesario reorganizar los datos. |
|
Data rerange |
Redistribuye los rangos de datos de los shards para corregir desequilibrios. Antes de ejecutar una reorganización de datos, compruebe si los registros se escriben con una clave de hash específica, por ejemplo mediante el SDK. |
Elegir la cantidad de ShardGroups
La cantidad de ShardGroups determina la granularidad de la exclusión en consultas: cuantos más ShardGroups configure, menos shards escaneará cada consulta, pero cada grupo conservará menos shards escribibles, lo que reduce la capacidad de recuperación ante desastres y aumenta el riesgo de puntos críticos. La consola sugiere un valor basado en la cantidad actual de shards escribibles del LogStore; este valor equilibra la eficiencia de exclusión en consultas, la capacidad de recuperación ante desastres y el riesgo de puntos críticos.
|
Shards escribibles actuales |
ShardGroups recomendados |
Descripción |
|
4 |
4 |
Aproximadamente 1 shard escribible por grupo. Las consultas pueden beneficiarse de la exclusión, pero la capacidad de recuperación ante desastres es limitada. |
|
8 |
4 |
Aproximadamente 2 shards escribibles por grupo. Adecuado al comenzar a usar la función. |
|
16 |
4 u 8 |
Elija el valor según sus requisitos de aceleración de consultas. |
|
32 |
8 o 16 |
Adecuado para consultas puntuales de alta frecuencia. |
|
64 |
16 o 32 |
Adecuado para consultas puntuales a gran escala, solución de problemas de rastreo y análisis de sesiones. |
Haga clic en Use recommended value para aplicar el valor sugerido. Dentro de un rango, el valor más alto ofrece una exclusión de consultas más fina, mientras que el valor más bajo conserva más shards escribibles en cada ShardGroup.
Condiciones de acierto y repliegue de consultas
Tras habilitar el almacenamiento agregado por clave de negocio, una consulta aprovecha la exclusión por clave de negocio cuando contiene condiciones de igualdad en todos los campos de clave de negocio. Simple Log Service calcula el ShardGroup destino a partir de los valores de la clave de negocio y escanea solo los shards de ese grupo en lugar de todos los shards del LogStore, lo que reduce el volumen de datos que participa en el cálculo.
Por ejemplo, si los campos de clave de negocio son tenant_id y agent_run_id, y la consulta contiene las siguientes condiciones:
tenant_id = 'tenant-a' AND agent_run_id = 'run-001'
Simple Log Service resuelve un único ShardGroup destino a partir de estos valores y escanea solo los shards de ese grupo.
En los siguientes casos, una consulta no puede aprovechar el almacenamiento agregado por clave de negocio y recurre a un escaneo completo de shards:
Campo de clave de negocio faltante: La consulta no contiene uno de los campos de clave de negocio.
Coincidencia distinta de igualdad: Un campo de clave de negocio se evalúa mediante coincidencia difusa, rango o expresión regular en lugar de una condición de igualdad.
Valor de clave de negocio ambiguo: La expresión de consulta no resuelve a un valor único de clave de negocio.
Cambio de directiva dentro del rango de tiempo: El rango de tiempo de la consulta abarca un cambio de directiva o incluye registros escritos antes de que la directiva actual entrara en vigor, por lo que no se puede usar una sola directiva para la exclusión.
Función no habilitada: El almacenamiento agregado por clave de negocio no está habilitado para el LogStore.
Facturación
El almacenamiento agregado por clave de negocio no modifica el método de facturación de un LogStore. Tras habilitarlo, los cargos por escritura, almacenamiento, consulta y análisis se siguen cobrando según el método de facturación actual del LogStore.
Cuando una consulta aprovecha la exclusión por clave de negocio, disminuyen el volumen de datos escaneado y la duración de la consulta, y los costos relacionados con consulta y análisis también pueden reducirse. La ventaja real depende de si la consulta contiene la clave de negocio completa, la cantidad de ShardGroups, la distribución de datos y el rango de tiempo de la consulta.
Preguntas frecuentes
¿Por qué mis consultas no son notablemente más rápidas tras habilitar el almacenamiento agregado por clave de negocio?
Primero compruebe si sus consultas cumplen las condiciones de acierto descritas en Query hit and fallback conditions. Si las consultas sí cumplen dichas condiciones, revise las siguientes causas de configuración:
Los campos de clave de negocio faltan en una gran proporción de registros, por lo que el efecto de agregación es débil.
La cantidad de ShardGroups es demasiado pequeña, por lo que se excluyen pocos shards.
¿Qué sucede cuando un campo de clave de negocio no existe?
Simple Log Service utiliza una cadena vacía en el cálculo del hash, por lo que todos los registros con un valor faltante o vacío se escriben en el mismo ShardGroup. Si los campos de clave de negocio faltan en una gran cantidad de registros, se produce un sesgo de escritura. Compruebe la cobertura de los campos de clave de negocio antes de habilitar el almacenamiento agregado por clave de negocio.
¿Cuándo es necesaria una reorganización de datos?
Considere una reorganización de datos cuando Shard data range balance status indique que los rangos de datos de los shards están desequilibrados. Antes de ejecutarla, compruebe si los registros se escriben con una clave de hash específica, por ejemplo mediante el SDK. Si su aplicación continúa escribiendo con una clave de hash específica, los puntos críticos pueden persistir después de la reorganización.