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 的项目进行一次写入。

  • 预置吞吐量最小/最大值 - 所有表和全局二级索引的读取和写入容量单位至少为一个。最大值取决于区域。在美国,每个表的读取和写入上限为 40K(每个帐户 80K),其他区域每个表的容量上限为 10K,帐户容量上限为 20K。

  • 预置吞吐量的增加和减少 - 您可以在需要时随时增加它,但减少次数每天每个表最多限制为四次。

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

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

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

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

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

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

  • 属性名称 - 最小为一个字符,最大为 64KB,键和某些属性除外。

  • 保留字 - DynamoDB 不阻止将保留字用作名称。

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

广告

© . All rights reserved.