DynamoDB - 概述

DynamoDB允许用户创建能够存储和检索任意数量数据并提供任何数量流量的数据库.它通过服务器自动分配数据和流量,以动态管理每个客户的请求,并保持快速的性能.

DynamoDB与RDBMS

DynamoDB使用NoSQL模型,这意味着它使用非关系系统.下表突出显示了DynamoDB和RDBMS之间的区别 :

常见任务RDBMSDynamoDB
连接到源 它使用持久连接和SQL命令.它使用HTTP请求和API操作
创建表 其基本结构是表,必须定义.它只使用主键,并且在创建时没有架构.它使用各种数据源.
获取表格信息 所有表信息仍可访问仅显示主键.
加载表数据 它使用由列组成的行.在表格中,它使用由属性构成的项目
读表数据 它使用SELECT语句和过滤语句.它使用GetItem,Query和Scan.
管理索引 它使用通过SQL语句创建的标准索引.对表更改自动进行修改.它使用辅助索引来实现相同的功能.它需要规范(分区键和排序键).
修改表数据 它使用UPDATE语句.它使用UpdateItem操作.
删除表格数据 它使用DELETE语句.它使用DeleteItem操作.
删除表 它使用DROP TABLE语句.它使用DeleteTable操作.

优点

两个主要优点DynamoDB具有可扩展性和灵活性.它不强制使用特定的数据源和结构,允许用户使用几乎任何东西,但是以统一的方式工作.

它的设计也支持从打火机的广泛使用任务和操作要求苛刻的企业功能.它还允许简单地使用多种语言:Ruby,Java,Python,C#,Erlang,PHP和Perl.

限制

DynamoDB确实受到影响然而,从某些限制来看,这些限制并不一定会产生巨大的问题或阻碍可靠的发展.

您可以从以下几点来看它们 :

  • 容量单位大小 : 对于不大于4KB的项目,读取容量单位是每秒单次一致读取.对于不大于1KB的项目,写入容量单位是每秒一次写入.

  • 预配置吞吐量最小值/最大值去;所有表和全局二级索引至少具有一个读取和一个写入容量单位.最大值取决于地区.在美国,40K读写仍然是每张桌子的上限(每个帐户80K),其他地区的每张桌子上限为10K,账户上限为20K.

  • 预配吞吐量增加和减少 : 您可以根据需要经常增加此值,但每张桌子的每日减少量不得超过四次.

  • 每个帐户的表格大小和数量 : 表格大小没有限制,但除非您要求更高的上限,否则帐户有256个表格限制.

  • 每个表的次要索引去;允许五个本地和五个全球.

  • 每个表的预计二级索引属性 :  DynamoDB允许20个属性.

  • 分区密钥长度和值 : 它们的最小长度为1个字节,最大长度为2048个字节,但DynamoDB对值没有限制.

  • 对密钥长度和值进行排序 : 它的最小长度为1个字节,最大值为1024个字节,除非其表使用本地二级索引,否则没有值限制.

  • 表和二级指数名称 : 名称长度必须至少为3个字符,最多为255个.它们使用以下字符:AZ,az,0-9,"_"," - "和".".

  • 属性名称 : 一个字符仍然是最小值,最大值为64KB,键和某些属性除外.

  • 保留字 :  DynamoDB不会阻止使用保留字作为名称.

  • 表达式长度 : 表达式字符串有4KB的限制.属性表达式具有255个字节的限制.表达式的替换变量有2MB的限制.