title: DynamoDB 心得分享
categories: [database, dynamodb]
简介
DynamoDB 是一种完全托管的 NoSQL 数据库服务。
DynamoDB 的核心
- 在 DynamoDB 中核心组件是表、项目和属性。
- 表是项目的集合。
- 项目是属性的集合。
- DynamoDB 使用主键来标识表中的每个项目,还提供了二级索引来提供更大的查询灵活性,
还可以使用 DynamoDB 流来捕获 DynamoDB 表中的数据修改事件。
DynamoDB的优点
- 性能稳定。为了保证高性能,DynamoDB 采用固态硬盘(SSD)进行存储,对于一般的请求,
DynamoDB 可以在 10 毫秒内完成,而且请求速度不会因为数据量增加而减慢。
- 读/写流量限制预设。用户可以随时通过控制台或者API更改数据库的读/写流量的限制。
- 自动扩容。DynamoDB 不会对用户的数据规模大小做任何限制,后台会默默地把用户的
数据分不到各个机器上去。
- 强一致性。用户可以通过参数指定要读的数据是否需要一致性。
- 完全分布式,无中心化结构。一个表上的数据可以分布在几百台机器上。
DynamoDB 和 SimpleDB 的区别
DynamoDB 与 SimpleDB 都是 AWS 上的 NoSQL 数据库,DynamoDB 优于 SimpleDB。
- SimpleDB 有单表限制。SimpleDB也有类似于Table的东西叫做Domain,每个 Domain
最多只能保存10GB的数据,而 DynamoDB 并没有单表存储的任何限制。
- SimpleDB 默认为表内所有属性创建索引,这就导致 SimpleDB 性能不稳定。
- SimpleDB 为最终一致性模型,DynamoDB 可以选择弱一致性或者强一致性。