数据库的特点 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

数据库的特点

要让您的应用程序能够访问数据库,其必须经过身份验证,以确保该应用程序能够使用数据库。此外,您的应用程序还必须获得授权,以使该应用程序只能执行它有权执行的操作。

下图说明客户端与关系数据库和 Amazon DynamoDB 之间的交互。


                与关系数据库和 NoSQL 数据库的交互。

下表包含有关客户端交互任务的更多详细信息。

特征 关系数据库管理系统(RDBMS) Amazon DynamoDB
用于访问数据库的工具

大多数关系数据库提供了命令行界面 (CLI),以便您能够输入临时 SQL 语句并立即查看结果。

大多数情况下,您将编写应用程序代码。您还可以使用 Amazon Web Services Management Console、 Amazon Command Line Interface (Amazon CLI) 或 NoSQL 工作台向 DynamoDB 发送临时请求并查看结果。PartiQL 是一种与 SQL 兼容的查询语言,它使您能够在 DynamoDB 中选择、插入、更新和输出数据。
连接到数据库 应用程序会建立和维护与数据库的网络连接。当应用程序完成时,它将终止连接。 DynamoDB 是一项 Web 服务,与其进行的交互是无状态的。应用程序不需要维护持久性网络连接。相反,与 DynamoDB 的交互是通过 HTTP(S) 请求和响应进行的。
身份验证 应用程序在经过身份验证之前无法连接到数据库。RDBMS 可自行执行身份验证,也可以将该任务分载到主机操作系统或目录服务。 对 DynamoDB 发出的每个请求均必须附有一个加密签名,此签名将对特殊请求进行身份验证。 Amazon 软件开发工具包提供了创建签名和签署请求所需的所有逻辑。有关更多信息,请参阅中的签署 Amazon API 请求Amazon Web Services 一般参考
授权 应用程序只能执行自身获得授权的操作。数据库管理员或应用程序所有者可以使用 SQL GRANTREVOKE 语句来控制对数据库对象 (如表) 、数据 (如表中的行) 或发出某些 SQL 语句的功能的访问权。 在 DynamoDB 中,授权 Amazon Identity and Access Management 由 (IAM) 处理。您可以编写 IAM policy 来授予针对 DynamoDB 资源(如表)的权限,然后允许用户和角色使用该策略。IAM 还具有针对 DynamoDB 表中各个数据项的精细访问控制功能。有关更多信息,请参阅 适用于 Amazon DynamoDB 的 Identity and Access Management
发送请求 应用程序为要执行的每个数据库操作发出一个 SQL 语句。收到 SQL 语句后,RDBMS 将检查其语法,创建执行操作的计划,然后执行该计划。 应用程序将 HTTP(S) 请求发送到 DynamoDB。该请求包含要执行的 DynamoDB 操作的名称和参数。DynamoDB 立即运行请求。
接收响应 RDBMS 返回来自 SQL 语句的结构。如果出错,RDBMS 将返回错误状态和消息。 DynamoDB 返回一个包含操作结果的 HTTP(S) 响应。如果出错,DynamoDB 将返回 HTTP 错误状态和消息。