DynamoDB - Várias teclas de intervalo


9

É possível ter vários campos como chave de intervalo?

Digamos que eu tenha uma tabela em que cada linha seja identificada exclusivamente por <A,B,C>

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

onde Aestá a hashchave primária

e eu quero Be Cser as rangechaves primárias .

Como posso ter mais de 2 campos como chave primária no DynamoDB?

Respostas:


6

Você não pode ter mais de 2 campos como chave primária no DynamoDB.

Como solução alternativa, você pode criar local secondary indexpara cada campo que deseja ser uma chave de intervalo. Mas você não poderá criar consultas com várias chaves de intervalo simultaneamente, porque o DynamoDB pode usar apenas um índice por vez.

Considere o uso de expressões de filtro, provavelmente você acabará usando mais taxa de transferência de leitura (a filtragem é realizada após os dados serem recebidos do banco de dados) do que o necessário, mas obtém os resultados desejados.


8

Coloque uma cópia de B e C no campo range (como uma coluna extra) e faça com que sua chave de range seja "B_C" e você ainda poderá ter colunas separadas para B e C, se necessário.


Essa abordagem pode ser usada como uma solução para esse problema ?
Birowsky
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.