📜  DynamoDB-基本概念(1)

📅  最后修改于: 2023-12-03 15:00:33.532000             🧑  作者: Mango

DynamoDB-基本概念

什么是DynamoDB?

DynamoDB是亚马逊公司提供的一种NoSQL数据库服务,可以灵活地进行数据存储和查询。它是基于列的,可以快速存取任意数量的数据,并且可以动态扩展存储容量。

DynamoDB的基本概念
1.表

表是DynamoDB中的基本单位,类似于关系数据库中的表。表由一个主键和可选的辅助索引组成,DynamoDB把表格中的每一行看做一个item。

2.主键

主键是表格中唯一标识每个item的属性,可以是一个或两个属性的组合。主键包括:

  • Partition Key(必选):用于将item分配到分区中,必须是一个标量(包括整型、字符串型、二进制、布尔型等),长度不能超过2048个字节。DynamoDB将所有具有相同分区键的item分配到同一分区中,进行数据存储和查询。Partition Key可以是单一值或组合权值。
  • Sort Key(可选):用于定义item的排序方式,必须是标量类型。当有多个item具有相同Partition Key时,Sort Key会按照定义的顺序排列。
3.索引

索引是DynamoDB中用于提高数据访问速度的关键之一,它可以被设在表中的任意属性上,包括主键项。索引包括:

  • Local Secondary Index(本地二级索引):由主键和一个Sort Key组成,可以对同一Partition Key下的item进行排序。
  • Global Secondary Index(全局二级索引):由Partition Key和一个可选的Sort Key组成,可以跨越不同的分区键对item进行排序。
4.分区

DynamoDB使用自己开发的一种基于哈希表的分区方法,将数据在多个物理分区上存储和管理。每个逻辑表在建立时都需要指定存储容量(以读/写吞吐量进行衡量),并且可以动态调整容量,以应对流量波动。

DynamoDB使用的分区方式决定了它的高可用性,数据会自动复制到多个分区中,以保障对数据的可靠性和高可用性。

总结

DynamoDB是一种灵活且高性能的NoSQL数据库,它采用了基于列的设计,使用分区的方式进行数据存储和管理。DynamoDB的概念包括表、主键、索引以及分区,这些概念是应用程序员在设计和使用DynamoDB时必须了解的重要内容。