DynamoDB: teclas de rango múltiple

9

¿Es posible tener múltiples campos como clave de rango?

Digamos que tengo una tabla donde cada fila se identifica de forma única por <A,B,C>

 -------------------------------
 A   |   B   |  C  |  D   |  E  |
 -------------------------------

donde Aesta la hashclave primaria

y quiero By Cser las rangeclaves principales .

¿Cómo puedo tener más de 2 campos como clave principal en DynamoDB?

usuario7
fuente

Respuestas:

6

No puede tener más de 2 campos como clave principal en DynamoDB.

Como solución alternativa, puede crear local secondary indexpara cada campo que desea que sea una clave de rango. Pero no podrá crear consultas con varias claves de rango simultáneamente porque DynamoDB solo puede usar un índice a la vez.

Considere usar expresiones de filtro, probablemente terminará usando más rendimiento de lectura (el filtrado se realiza después de recibir los datos de db) de lo que necesita, pero obtenga los resultados deseados.

Vasily Sochinsky
fuente
8

Ponga una copia de B y C en el campo de rango (como una columna adicional) y haga que su clave de rango como "B_C" y todavía puede tener columnas separadas para B y C si lo necesita.

Jeff M
fuente
¿Se puede usar este enfoque como una solución a este problema ?
Birowsky