文章目录
Amazon Relational Database Service (Amazon RDS)
unmanaged : 调度, 容错, 可用性都需要人为控制
managed : 调度, 容错, 可用性等功能都已经被内置
- 直接使用RDS可以避免一些额外底层繁杂的工作, 可以使开发人员更专注于内容开发
RDS的基本单位
- RDS中的基本单位 : DB instance
- 根据需要选取不同的类型和存储方式
- 右侧是RDS支持的数据库引擎, 可以直接使用操作
RDS部署
- 将数据库放在一个私有子网, 保证安全
- EC2 和 RDS 需要在同一个可用区域, 否则无法访问
多区域部署
- 多可用区域的数据库部署. 提升可用性
只读备份
- 只读备份 : 如果只是读取一些数据库中的内容, 可以将读取请求转移到另外一个备份实例上, 减少对主RDS的负载量.
use case
- 网站和移动服务
- 电子商务应用
- 移动和在线游戏
when to use RDS
- use
- 复杂的查询需求
- 读写需求不是特别高
- not use
- 读写需求频繁
- 没有复杂的查询需求
Amazon DynamoDB
关系型数据库和非关系型数据库的区别
- 非关系型数据库可以通过key-value解决属性动态变化的需求
DynamoDB的特点
- 对任何规模都更快更灵活的没有SQL语言的数据库服务
- 没有复杂的SQL语言
- 存储无上限
- 元素可以有不同性质
- 低延迟查询
- 自动扩增
Amazon DynamoDB core components
- tables, items, and attributes
- tables : 数据的集合
- items : 一个tables包含许多item, 存储的items数量没有限制. 每个item有一个唯一标识.
- attributes : 一个item包含多个attributes, 最小的单位. 每个item的属性不需要预先定义, 每一个item都可以有不同的attributes
- 支持两种不同的主键
- 分区键 (partition key), 分区键和排序键 (sort partition)
- 两种查询方式
- query : 根据键找出特定项目
- scan : 根据属性把相关项目查找出来
- 分区键 + 排序键 共同组成一个复合主键
- partition key相当于一个歌手名, sort key相当于歌名
keys
- DynamoDB跑在SSDs上, 速度较快
- 支持文档和键值模式的存储
- 低延迟, 查询速度较快
- 非关系型数据库, 存储的项目数量没有限制