基础概念
分区键:
英文是partitionKey或者HashKey,与哈希算法相关的键
排序键:
英文是sortKey或者RangeKey,与排序相关的键
主键:
可以是分区键,也可以是分区键加排序键
可以粗略的认为,一个数据库中存在两个映射,一个是hashCode映射,一个是link链表映射,分别对应分区键和排序键;
在hashMap中,不同的key的hashCode是有可能相同的,这并不会造成数据的覆盖,同样,如果分区键不是主键的话,那么分区键相同也不会有问题;而排序键则决定了数据在数据库中的顺序,因为排序键是可以进行范围筛选的,所以我推测,内部的逻辑一定是根据排序键的自然顺序存储
主键则是数据库中项目的唯一标志
正如上面所说,在查询数据时,排序键是可以进行范围筛选的,对应的,分区键则不能进行范围筛选,只能进行精确的筛选,如hashKey = "123abc";而排序键可以进行范围筛选,如 rangeAttributeName BETWEEN :rangeval1 AND :rangeval2
网友评论