Como lidar com muitos para muitos no DynamoDB

Eu sou novo no NoSql e DynamoDb, mas no RDBMS. Minhas tabelas estão sendo movidas do MySql para o DynamoDb. Eu tenho mesas:
cliente (colunas: cid [PK], nome, contato)
Hardware (colunas: hid [PK], nome, tipo)
Aluguel (colunas: livrar [PK], cid, ocultar, tempo). => esta é a associação de cliente e item de hardware.

um cliente pode ter muitos itens de hardware e um item de hardware pode ser compartilhado entre muitos clientes.

Requisitos: listas separadas de clientes e itens de hadware devem poder ser recuperados.
Detalhes do aluguel - qual cliente restringiu qual item do Hardeware.

Eu me referiesta - tabela de índice secundário. Trata-se de manter todas as colunas em uma tabela.
Eu pensei em ter 2 tabelas DynamoDb:
Cliente - possui todos os atributos semelhantes às colunas E conjunto de chaves de hash de item de hardware. (Então, meu problema é que, quando a tabela do cliente é consultada para recuperar apenas clientes, todas as chaves de hardware também são carregadas.)

Alguma orientação para a estrutura da tabela? Como salvar, carregar e até atualizações?
Alguma amostra de java, por favor? (não foi possível encontrar nenhum recurso útil semelhante ao meu cenário)

questionAnswers(3)

yourAnswerToTheQuestion