Amazon DynamoDB 简介

在 AWS 中使用数据存储

Dunieski Otano

AWS Solutions Architect

热点分区问题

  • 想象一家餐厅:一个收银员忙爆,三人闲置
  • 分区键设计不佳会这样
  • 热点分区:单一分区流量过大,其他空闲
  • 解决:高基数分区键——具大量唯一值,均衡分布

分区

在 AWS 中使用数据存储

优秀分区键的要素

  • 高基数:唯一值多
    • userId、orderId、sessionId——
    • country、status、category——
  • 均匀分布:访问模式均衡
  • 可预测:查询时可确定

基数

在 AWS 中使用数据存储

DynamoDB 表结构

  • 分区键(必需):决定数据分布
  • 排序键(可选):支持范围查询(如 userId + orderDate)
  • 属性:其他数据字段
  • 主键 = 分区键 或 分区键 + 排序键

表结构

在 AWS 中使用数据存储

创建你的第一张表

  • AWS 控制台:快速测试搭建
  • boto3(Python):以编程方式建表
  • 关键决定:分区键、排序键、计费模式

首次

在 AWS 中使用数据存储

复合键与排序键查询

  • 复合键:分区键 + 排序键
  • 范围查询:按日期/数值范围查询
  • 运算符:=、<、>、<=、>=、BETWEEN、begins_with
  • 示例:获取某用户近30天内 > $100 的订单

代码

在 AWS 中使用数据存储

容量模式:按需 vs 预置

  • 按需模式:按请求计费,自动伸缩
    • 适用:流量不可预测、新应用
  • 预置模式:设置 RCU/WCU,规模化更省钱
    • 适用:流量可预测、成本优化
  • 每24小时可切换一次模式

模式

在 AWS 中使用数据存储

Passons à la pratique !

在 AWS 中使用数据存储

Preparing Video For Download...