es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DynamoDB con PK que tiene más de 2 campos.

Necesito consejos sobre las mejores prácticas para definir la clave primaria (hash+range) para este esquema:
– fecha
– organización
– servicio
– tps

El uso es para producir un informe diario del tps máximo para cada servicio de una organización particular.
Entonces, la combinación de fecha+organización+servicio será única, es decir, cualquier upsert de esta combinación debe:

crear un nuevo registro si no existe
actualizar el valor de tps si ya existe

El patrón de búsqueda será en cualquier fecha determinada para una organización específica, devolviendo todos los servicios con sus tps.

Estoy considerando usar la fecha como clave hash. Entonces, la clave de rango tendrá que ser una concatenación de organización+servicio. ¿Es este el enfoque correcto? Si es así, ¿qué debería usarse como delimitador para evitar conflictos con los valores de organización/servicio?

¿Y cómo debería configurar el índice?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El enfoque óptimo para este esquema sería utilizar date como clave hash y org+service como clave de rango. Se puede utilizar un delimitador como un guión (-) para separar los valores de org y service en la clave de rango.

    También se debe crear un índice secundario global (GSI) con org como clave hash y date+service como clave de rango. Esto permitirá buscar una organización específica en cualquier fecha determinada y devolver todos los servicios con sus tps.

Comments are closed.