其他分享
首页 > 其他分享> > DynamoDb 学习笔记

DynamoDb 学习笔记

作者:互联网

DynamoDb是托管式的,不需要自己安装,注册账号就能使用。把扩展性,吞吐量伸缩等,都交给亚马逊处理。

三个关键概念:

作为NoSql数据库,在创建表时,只需要指定主键。即主键名和主键的数据类型。其它属性都不需要指定。因为它是无结构的。不要求每个item,有一样的属性。

主键:每一个item,有且只有一个唯一的主键。有两种类型的主键:

partion key:正如其名,决定了这个item是保存在哪个分区的。有相同的partion key的item,就一定保存在同一个分区中。在老版本中,它又叫做 hash attribute

sort key:排序键,在partion key 相同的情况下,会按sort key 来排序

partion分区:

  1. 数据是保存在分区中的。分区,简单理解就是固态硬盘中的空间。

  2. 同一个表中的数据,可能是存在多个分区中。

  3. 多个分区也是分布式的,简单说,一张表中的数据,可能分散保存在多台服务器上(在同一个可用区中)。

  4. 在新建表时,系统会根据配置的吞吐量来分配初始的分区有多少。吞吐量设置得大,分配到的分区当然就多。

  5. 当修改吞吐量时(可能是自动或手动),就可能导致增加或减少分区。

  6. 在变动分区时,不影响读写,对开发者来说是透明的。

Secondary Indexes:第二索引

  1. 一个表可以有0个或多个二级索引

  2. 如果没有第二索引的话,就只能通过主键来查询指定的数据。

  3. 如果还要查询表中其它属性的值 ,就只有按这个属性,再创建一个第二索引。

  4. 个人理解是,创建一个二级索引。有点像把这个表又重新复制了一次,甚至能指定要复制哪些属性(投影)。

  5. 基表有变动时,二级索引的派生表,会自动更新。(类似mysql的自动维护索引)

Streams:就是事件以及对事件的处理。可以在特定事件发生时,编写自己的业务逻辑。比如新增用户成功后,自动发送邮件。

数据类型:

读取的一致性

查询数据的区别

标签:学习,索引,partion,分区,笔记,DynamoDb,item,key,主键
来源: https://blog.csdn.net/junzi528/article/details/122042651