DynamoDB – 概述

DynamoDB – 概述


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

DynamoDB 与 RDBMS

DynamoDB 使用 NoSQL 模型,这意味着它使用非关系系统。下表突出显示了 DynamoDB 和 RDBMS 之间的差异 –

Common Tasks 关系型数据库管理系统 动态数据库
Connect to the Source 它使用持久连接和 SQL 命令。 它使用 HTTP 请求和 API 操作
Create a Table 它的基本结构是表格,必须定义。 它只使用主键,在创建时不使用模式。它使用各种数据源。
Get Table Info 所有表信息仍可访问 只显示主键。
Load Table Data 它使用由列组成的行。 在表格中,它使用由属性组成的项目
Read Table Data 它使用 SELECT 语句和过滤语句。 它使用 GetItem、Query 和 Scan。
Manage Indexes 它使用通过 SQL 语句创建的标准索引。对它的修改会在表更改时自动发生。 它使用二级索引来实现相同的功能。它需要规范(分区键和排序键)。
Modify Table Data 它使用 UPDATE 语句。 它使用 UpdateItem 操作。
Delete Table Data 它使用 DELETE 语句。 它使用 DeleteItem 操作。
Delete a Table 它使用 DROP TABLE 语句。 它使用 DeleteTable 操作。

好处

DynamoDB 的两个主要优势是可扩展性和灵活性。它不强制使用特定的数据源和结构,允许用户以统一的方式处理几乎任何事情。

其设计还支持从较轻的任务和操作到要求苛刻的企业功能的广泛使用。它还允许简单地使用多种语言:Ruby、Java、Python、C#、Erlang、PHP 和 Perl。

限制

DynamoDB 确实受到某些限制,但是,这些限制并不一定会造成巨大的问题或阻碍稳固的发展。

您可以从以下几点查看它们 –

  • 容量单位大小– 读取容量单位是每秒对不大于 4KB 的项目进行的单一一致读取。写入容量单位是每秒一次写入不大于 1KB 的项目。

  • Provisioned Throughput Min/Max – 所有表和全局二级索引至少有一个读取和一个写入容量单位。最大值取决于地区。在美国,40K 读写仍然是每表的上限(每个账户 80K),其他地区的上限是每表 10K,账户上限为 20K。

  • 预配置吞吐量增加和减少– 您可以根据需要经常增加它,但减少仍然限制在每张表每天不超过四次。

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

  • 每个表的二级索引– 允许五个本地和五个全局。

  • 每个表的投影二级索引属性– DynamoDB 允许 20 个属性。

  • 分区键长度和值– 它们的最小长度为 1 个字节,最大为 2048 个字节,但是,DynamoDB 对值没有限制。

  • 排序键长度和值– 其最小长度为 1 个字节,最大为 1024 个字节,除非其表使用本地二级索引,否则对值没有限制。

  • 表和二级索引名称– 名称的长度必须至少为 3 个字符,最多为 255 个。它们使用以下字符:AZ、az、0-9、“_”、“-”和“.” .

  • 属性名称– 最少一个字符,最多 64KB,键和某些属性除外。

  • 保留字– DynamoDB 不会阻止使用保留字作为名称。

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁