我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。
如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。
关键 Cookie 对我们提供网站和服务来说绝对必要,不可将其禁用。关键 Cookie 通常是根据您在网站上的操作(例如,设置您的隐私首选项,登录或填写表格)来设置的。
性能 Cookie 可为我们提供有关客户使用网站情况的匿名统计信息,以便我们改善用户的网站体验及网站性能。经批准的第三方可为我们执行分析,但不可将数据用于其自身目的。
功能 Cookie 有助于我们提供有用的网站功能,记住您的首选项及显示有针对性的内容。经批准的第三方可对功能 Cookie 进行设置以提供某些网站功能。如果您不允许功能 Cookie,则某些或所有这些服务可能无法正常提供。
广告 Cookie 可由我们或我们的广告合作伙伴通过我们的网站进行设置,有助于我们推送有针对性的营销内容。如果您不允许广告 Cookie,则您所接收到的广告的针对性将会有所降低。
阻止某些类型的 Cookie 的话,可能会影响到您的网站体验。您可以随时单击此网站页脚中的 Cookie 首选项来对您的 Cookie 首选项进行更改。要了解有关我们及经批准的第三方如何在网站上使用 Cookie 的更多信息,请阅读 AWS Cookie 声明。
我们会在 AWS 网站和其他资产上展示与您的兴趣相关的广告,包括跨情境行为广告。跨情境行为广告使用来自一个网站或应用程序的数据,在另一个公司的网站或应用程序上向您投放广告。
若要不允许基于 Cookie 或类似技术的 AWS 跨情境行为广告,请选择下面的“不允许”和“保存隐私选择”,或访问启用了法律认可的拒绝信号的 AWS 网站(如全球隐私控制)。如果您删除 Cookie 或使用其他浏览器或设备访问此网站,则需要再次做出选择。有关 Cookie 以及我们如何使用的更多信息,请阅读我们的 AWS Cookie 通知。
若要不允许所有其他 AWS 跨情境行为广告,请通过电子邮件填写此表单。
如需进一步了解 AWS 如何处理您的信息,请阅读 AWS 隐私声明。
我们目前只会存储基本 Cookie,因为我们无法保存您的 Cookie 首选项。
如果您想要更改 Cookie 首选项,请稍后使用 AWS 控制台页脚中的链接重试,如果问题仍然存在,请联系技术支持。
根据您选择的解决方案,您的键值存储可能具有一些其他特征,如下所示。
键值存储支持已定义的数据类型,例如整数和文本。但是,其中许多也可以支持更复杂的对象,例如数组、嵌套字典、图像、视频和半结构化数据。通过向数据库提供有关您的数据的更多信息,可以进一步提升存储和查询性能的优化空间。
键值数据库不需要执行任何需要大量资源的表联接。它们十分灵活,可将所有需要的信息整合在一个表中。这就是键值存储表现如此出色的原因之一。
键值存储可以对键进行排序,以便系统地存储数据并实现分区。例如,可以通过以下方式对键进行排序:
假设有一个使用客户的电子邮件地址作为唯一密钥的键值存储。电子邮件地址可以按字母顺序排序,因此 A-J 电子邮件列表的所有数据都存储在服务器 1 上,K-S 存储在服务器 2 上,依此类推。
某些键值存储允许您定义两个或多个不同的键或二级索引来访问相同的数据。例如,您可以按主要电子邮件地址和主要电话号码来存储客户数据。
许多键值存储通过自动跨多个存储节点复制数据来提供内置的复制支持。这有助于从灾难中自动恢复;如果服务器出现故障,您仍然可以保留数据。
许多键值存储通过自动跨多个存储节点复制数据来提供内置的复制支持。这有助于从灾难中自动恢复;如果服务器出现故障,您仍然可以保留数据。
原子性、一致性、隔离性和持久性(ACID)是数据库属性,可确保数据在所有情况下准确可靠。例如,如果您按顺序对数据进行多项更改,原子性将要求所有更改都按顺序进行。如果一项更改失败,则所有更改都会失败。
高级键值数据库为 ACID 提供服务器端的原生支持。这使开发人员能够在表内和跨表对多个项目进行“全有或全无”的协调式更改。利用事务支持,开发人员可以将规模、性能和企业优势扩展到更广泛的任务关键型工作负载。
您可以使用键值数据库系统作为应用程序的主数据库,也可以用它来处理细分类别需求。我们在下面给出了一些键值数据库使用案例的示例。
一个面向会话的应用程序(如 Web 应用程序)在用户登录某个应用程序时启动会话,并保持活动状态直到用户注销或会话超时。在此期间,该应用程序会将所有用户会话属性存储在主内存或数据库中。用户会话数据可能包括个人资料信息、消息、个性化数据和主题、建议、有针对性的促销和折扣。
每个用户会话具有唯一的标识符。除了主键之外,任何其他键都无法查询会话数据,因此快速键值存储更适合于会话数据。一般来说,键值数据库所提供的每页开销可能比关系数据库要小。
在假日购物季,电子商务网站可能会每秒收到数十亿的订单。键值数据库可以处理大量数据扩展和极高的状态变化,同时还通过分布式处理和存储为数百万并发用户提供服务。此外,键值存储还具有内置冗余,可以处理丢失的存储节点。
您的键值存储可以充当底层存储层,以实现更高级别的数据访问。例如,您可以扩展媒体和娱乐工作负载(例如实时视频流和交互式内容)的吞吐量和并发度。您还可以使用玩家数据、会话历史记录和数百万并发用户的排行榜构建您的游戏平台。
您可以使用键值数据库来临时存储数据,以便更快地进行检索。例如,社交媒体应用程序可以存储经常访问的数据,例如新闻源内容。内存数据缓存系统也使用键值存储来加速应用程序的响应。
键值数据库的工作原理是将所有数据组织成一组键值对。您可以将密钥视为问题,将值视为问题的答案。在下面的示例中,主键是两个密钥的组合,即产品 ID 和类型。产品 ID 是分区键,用于描述项目将存储在哪个分区。类型是排序键,决定项目在磁盘中的存储顺序。分区键和排序键的组合构成一个唯一的主键,该主键映射到数据库中的单个值。
在此示例中,数据对象手册具有标题、作者和发布日期等属性。每个图书数据对象都有一个名为 BookID 的密钥。您可以直接在键值存储中将 BookID 和关联的图书对象链接起来。此外,您还可以通过在表中查找 BookID 来检索数据。此外,每个项都有自己的架构,这使得键值存储非常灵活,可以存储不同结构的数据。
根据您选择的解决方案,您的键值存储可能具有一些其他特征,如下所示。
键值存储支持已定义的数据类型,例如整数和文本。但是,其中许多也可以支持更复杂的对象,例如数组、嵌套字典、图像、视频和半结构化数据。通过向数据库提供有关您的数据的更多信息,可以进一步提升存储和查询性能的优化空间。
键值数据库不需要执行任何需要大量资源的表联接。它们十分灵活,可将所有需要的信息整合在一个表中。这就是键值存储表现如此出色的原因之一。
键值存储可以对键进行排序,以便系统地存储数据并实现分区。例如,可以通过以下方式对键进行排序:
假设有一个使用客户的电子邮件地址作为唯一密钥的键值存储。电子邮件地址可以按字母顺序排序,因此 A-J 电子邮件列表的所有数据都存储在服务器 1 上,K-S 存储在服务器 2 上,依此类推。
某些键值存储允许您定义两个或多个不同的键或二级索引来访问相同的数据。例如,您可以按主要电子邮件地址和主要电话号码来存储客户数据。
许多键值存储通过自动跨多个存储节点复制数据来提供内置的复制支持。这有助于从灾难中自动恢复;如果服务器出现故障,您仍然可以保留数据。
许多键值存储通过自动跨多个存储节点复制数据来提供内置的复制支持。这有助于从灾难中自动恢复;如果服务器出现故障,您仍然可以保留数据。
原子性、一致性、隔离性和持久性(ACID)是数据库属性,可确保数据在所有情况下准确可靠。例如,如果您按顺序对数据进行多项更改,原子性将要求所有更改都按顺序进行。如果一项更改失败,则所有更改都会失败。
高级键值数据库为 ACID 提供服务器端的原生支持。这使开发人员能够在表内和跨表对多个项目进行“全有或全无”的协调式更改。利用事务支持,开发人员可以将规模、性能和企业优势扩展到更广泛的任务关键型工作负载。
键值数据库确实需要权衡取舍,这一点与任何类型的技术选择一样。
由于键值数据库不支持复杂的查询,因此开发人员必须在代码中解决这个问题。数据操作主要通过简单的查询语言术语进行,例如 get、put 和 delete。在访问数据之前,您可以对数据进行筛选和排序的程度有限制。
键值存储设计不强制开发人员使用架构。任何人都可以在数据库程序中修改架构。开发团队必须系统地规划数据模型,以避免出现长期问题。缺乏严格的架构也意味着应用程序需要负责正确解释其使用的数据,通常被称为“读取时架构”。
Amazon DynamoDB 是最受欢迎的键值数据库之一,专为运行任何规模的高性能应用程序而设计。它是一个完全托管的多区域、多活动数据库,提供以下功能:
通过这个关于创建和查询 NoSQL 表的分步教程,只需 10 分钟,即可启动并运行 DynamoDB。立即创建免费账户,开始使用 AWS 上的键值数据库!