DynamoDB - 概述
DynamoDB 允许用户创建能够存储和检索任意数量的数据并服务任意数量的流量的数据库。 它自动在服务器上分配数据和流量,以动态管理每个客户的请求,并保持快速性能。
DynamoDB 与 RDBMS
DynamoDB 使用 NoSQL 模型,这意味着它使用非关系型系统。 下表重点介绍了 DynamoDB 和 RDBMS 之间的差异 −
常见任务 | RDBMS | DynamoDB |
---|---|---|
连接到源 | 它使用持久连接和 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 的单次写入。
配置吞吐量最小值/最大值 − 所有表和全局二级索引至少具有 1 个读取和 1 个写入容量单位。 最大值取决于地区。 在美国,每表40K读写上限(每个帐户80K),其他地区每表10K上限,帐户上限20K。
配置吞吐量的增加和减少 − 您可以根据需要增加此次数,但减少次数仍限于每桌每天不超过四次。
表大小和每个帐户的数量 − 牌桌大小没有限制,但帐户的牌桌数量限制为 256 个,除非您请求更高的上限。
每个表的二级索引 − 允许五个本地和五个全球。
每个表的预计二级索引属性 − DynamoDB 允许 20 个属性。
分区键长度和值 − 它们的最小长度为 1 字节,最大长度为 2048 字节,但是 DynamoDB 对值没有限制。
对键长度和值进行排序 − 其最小长度为 1 字节,最大长度为 1024 字节,除非其表使用本地二级索引,否则没有值限制。
表和二级索引名称 − 名称长度必须至少为 3 个字符,最多为 255 个字符。它们使用以下字符:AZ、a-z、0-9、"_"、"-"和"."。
< /里>属性名称 − 最小为 1 个字符,最大为 64KB,键和某些属性除外。
保留字 − DynamoDB 不会阻止使用保留字作为名称。
表达式长度 − 表达式字符串有 4KB 限制。 属性表达式有 255 字节的限制。 表达式的替换变量有 2MB 限制。