Uso de la partición de escritura del índice secundario global para las consultas de tabla selectivas en DynamoDB
Con frecuencia, las aplicaciones necesitan identificar un pequeño subconjunto de elementos en una tabla de Amazon DynamoDB que cumplan con una determinada condición. Cuando estos elementos se distribuyen aleatoriamente entre las claves de partición de la tabla, puede recurrir a un análisis de tabla para recuperarlos. Esta opción puede ser costosa, pero funciona bien cuando una gran cantidad de elementos en la tabla cumplen con la condición de búsqueda. Sin embargo, cuando el espacio clave es grande y la condición de búsqueda es muy selectiva, esta estrategia puede causar una gran cantidad de procesamiento innecesario.
Una solución mejor puede ser consultar los datos. Para habilitar las consultas selectivas en todo el espacio de claves, puede utilizar la partición de escritura agregando un atributo que contenga un valor (0-N)
a cada elemento que va a utilizar para la clave de partición de índice secundario global.
A continuación se muestra un ejemplo de un esquema que utiliza esto en un flujo de trabajo de evento crítico:
Usando este diseño de esquema, los elementos de evento se distribuyen entre las particiones 0-N
en el ISG, permitiendo una lectura de dispersión utilizando una condición de ordenación en la clave compuesta para recuperar todos los elementos con un estado dado durante un período de tiempo especificado.
Este patrón de esquema proporciona un conjunto de resultados altamente selectivo a un coste mínimo, sin necesidad de analizar la tabla.