在DynamoDB中创建一个表,其中包含2个“列”作为键(复合键)

时间:2014-11-23 05:23:00

标签: mysql amazon-web-services amazon-dynamodb

我正在尝试使用2"列"在DynamoDb中创建一个表。作为钥匙。

考虑MYSQL的这个表示例:

create table users_activities(
    `ACTIVITY_ID`            bigint(20)   NOT NULL auto_increment,
    `USER_ID`                bigint(20)   NOT NULL ,
    `DATE_CREATED_ON`        bigint(20)   NOT NULL ,
    `ACTIVITY_TEXT`          nvarchar(120),
    primary key(  `ACTIVITY_ID`, `USER_ID`)
);

我需要将此表映射到DynamoDB。你会怎么建议我这样做?

谢谢。

1 个答案:

答案 0 :(得分:3)

正如您在评论中提到的,单个user_id可以映射到多个activity_ids。这是使用范围键的完美方案。 在DynamoDB中创建users_activities表,其中USER_ID为散列键,ACTIVITY_ID为范围键。请注意,您始终需要在对DynamoDB的get / query调用中提供哈希键。换句话说,如果不扫描整个表,您将无法通过 activity_id执行查询。

除上述内容外,您可能还希望将date_created_on用作local secondary index