dynamodb

 

 

分区键,决定数据怎么分布 ,类似不同的桶(必须指定),指定可以节省查询时间  ,随着数据量增大,可以很好的扩展
排序建,当设计该键的排序的时候,可以优化查询能力,(非必须)
1、表的分区字段
2、表的排序字段

 

1写容量单位      1kb/s
1读容量单位    4kb/s    如果设为最终一致性, 按 8KB/s  


总的容量单位是均分到各个分区的

 

 

索引的意义

全局二级索引

 

索引数据 独立于表
异步进行更新,如果更新速度达到阈值,表的读写会受到限流

 

 

本地二级索引(分区索引  LSIs)
分区键 肯定是一个索引键
另外可以用其他的属性

 

 

分区计算

计算表或者索引的容量

 

 

 

自动伸缩

 

 

 

 

 最佳案例:降低RCU、WRU

1、大数据量内容  单独存一张表,或者存S3的链接

2、时序性,  定期将新的数据   分新的表,  (分配给冷数据区的RCU、用不上)

预先创建每天,每周或者每月的表格,对当前表格配置需要的吞吐量,新的数据写入当前表格,降低历史数据表格的吞吐量

 3、多条件查询

 

 

 

全局
GameId 做全局索引 日期   做排序字段
本地二级
Opponent 做分区字段
Status   做排序字段

假如 有过滤条件status=Pending,那么就会导致 查询出的数据有一部分没有用到;浪费了一部分RCU
解决方法 合并字段  StartDate : Pending_2019-09-30
AND
StartDate BEGINS_WITH 'pending' 没有浪费

 

 

 

 

流复制

 

类似 日志
1、针对表里的数据变化的顺序记录
2、针对表的变化的记录只会出现一次
3、记录的顺序与操作记录一致
4、只保存24小时
5、可以把表的数据被更新前的值以及更新后的值都写到流里
6、流里的数据通过API进行消费
四种流格式
1、KEYS_ONLY    只有分区键和排序键的数据被写入流
2、NEW_IMAGE  修改后的整条记录都被写入流
3、OLD_IMAGE   修改前的整条记录都被写入流
4、NEW_AND_OLD_IMAGES    修改前后的整条记录都会写入流

 

表之间的数据复制
触发器
容灾和多区域复制
数据汇总
数据安全和通知

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-18 11:37  慕沁  阅读(270)  评论(0)    收藏  举报