DynamoDB-键值存储

2022-04-08 00:00:00 索引 分区 项目 属性 主键

什么是DynamoDB?

DynamoDB 是一个你什么也不用管的 NoSql 数据库。记得给 AWS付账单就可以。

在2004年的时候, Amazon 发现 Oracle 数据库都不够用了。为了还能继续做生意。 AWS设计了一个 Key-Vale 存储系统。以希望能达到以下目的:高性能,可扩展性,可靠性。

DynamoDB是分布式数据库,设计成用来解决数据库管理、性能、可扩展性和可靠性等核心问题。开发人员可以创建一个数据库表,该表可以存储和检索任何数量的数据。

DynamoDB 用起来很简单,因为它的功能很简单,你想一个 Key-value 能什么花头可以搞的, 以至于你感觉它基本上没用处。 特别是你发现市场上 kev-value 的数据库已经多的性况下。如果你非要说好,也怕只有:你开箱就用,不需要自己去维护什么。要记得给钱。

Dynamodb 会说你在开始做产品的开发的的时候,要用户没用户,要功能没功能,所以关系型数据库不合适,因为你不知道有什么 schema。 但是 DynamoDB 对你可能更没有用。因为根据它的文档:你只能对你的产品需求很熟悉的时候,你才能设计好表的 Partion key和Sort key, 以及 primary key。 从这个角度来说,还不如 MySQL。

什么是DynamoDB

Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,提供快速而可预测的性能,能够实现无缝扩展。DynamoDB 可以从表中自动删除过期的项,从而帮助您降低存储用量,减少用于存储不相关数据的成本。

DynamoDB工作原理

在DynamoDB中核心组件是表、项目和属性。表是项目的集合,项目是属性的集合,DynamoDB使用主键来标识表中的每个项目,还提供了二级索引来提供更大的查询灵活性,还可以使用DynamoDB流来捕获DynamoDB表中的数据修改事件。

表、项目和属性

  •  DynamoDB将数据存储在表中,表是某类数据的集合,例如People表、Cars表。
  • 项目 每个表包含多个项目,项目是一组属性,具有不同于所有其他项目的标识,项目类似与SQL中的行、记录或元组。
  • 属性 每个项目包含一个或多个属性,属性是基本的数据元素,属性类似与SQL中的字段或列。
    People表示例

    相关文章