什么是键值数据库?

定义的键值数据库

键值数据库是一种非关系数据库,它使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键和值都可以是从简单对象到复杂复合对象的任何内容。键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进行水平扩展。 例如,如果现有分区填满了容量,并且需要更多的存储空间,Amazon DynamoDB 就会将额外的分区分配给表。

下图显示了在 DynamoDB 中存储为键值对的数据示例。

显示在 DynamoDB 中存储为键值对的数据示例的图示

使用案例

会话存储

一个面向会话的应用程序(如 Web 应用程序)在用户登录时启动会话,并保持活动状态直到用户注销或会话超时。在此期间,应用程序将所有与会话相关的数据存储在主内存或数据库中。会话数据可能包括用户资料信息、消息、个性化数据和主题、建议、有针对性的促销和折扣。每个用户会话具有唯一的标识符。除了主键之外,任何其他键都无法查询会话数据,因此快速键值存储更适合于会话数据。一般来说,键值数据库所提供的每页开销可能比关系数据库要小。

购物车

在假日购物季,电子商务网站可能会在几秒钟内收到数十亿的订单。键值数据库可以处理大量数据扩展和极高的状态变化,同时通过分布式处理和存储为数百万并发用户提供服务。此外,键值数据库还具有内置冗余,可以处理丢失的存储节点。

热门键值数据库

Amazon DynamoDB

Amazon DynamoDB 是一种非关系数据库,可在任何规模提供可靠的性能。它是一种完全托管的多区域、多主表数据库,可实现不到 10 毫秒的一致延迟,并提供内置的安全性、备份和还原以及内存中的缓存。在 DynamoDB 中,项目包括一个主键或复合键,以及数量不限的属性。与单个项目相关联的属性数量没有明确限制,但项目的总大小(包括所有属性名称和属性值)不得超过 400KB。 表是数据项的集合,就好比关系数据库中的表是行的集合。每个表具有无限数量的数据项。

借助此分步教程,只需 10 分钟,您就能开始正常使用 DynamoDB。详细了解 DynamoDB 并立即开始使用

Amazon DynamoDB 入门

Apache Cassandra

Apache Cassandra 是常用的、高性能非关系数据库。目前在本地维护 Cassandra 的 AWS 客户可能希望利用在 Amazon EC2 上运行 Cassandra 的可扩展性、可靠性、安全性及经济优势。

EC2 和 Amazon Elastic Block Store (Amazon EBS) 提供了安全、可调整的计算容量和 AWS 云存储。当结合使用时,您可以根据需求部署 Cassandra 和扩展容量。考虑到可能的部署拓扑数量,选择适合您的使用案例的最合适的策略并不总是那么简单。使用在 Amazon EC2 上运行 Apache Cassandra 的最佳实践,在 AWS 云中部署 Apache Cassandra。

DataStax Enterprise (DSE) 是始终可用的数据平台,用于由 Apache Cassandra 提供支持的云应用程序。DSE 旨在跨多个节点处理大数据工作负载,而没有任何单点故障。DSE 解决了故障问题,方法是在同构节点中使用对等分布式系统,其中数据分布在集群中的所有节点中。DSE 提供了高级功能,旨在加速您创建智能和引人注目的云应用程序的能力。在 DSE 的每个节点中集成了强大的索引、搜索、分析和图形功能,这些功能是通过将 Cassandra 与 Apache Solr、Apache Spark 和 DSE Graph 结合起来提供的。您可以编写一次数据,并使用各种各样的工作负载或访问模式来访问它,所有这些都来自一个紧密结合的解决方案。 

使用 AWS DataStax Enterprise 快速入门(同时支持 PDF 格式)在 AWS 云中部署 DSE 集群。