数据库选型指南:键值、图数据库的应用与比较
在构建云原生架构的云应用或微服务时,为应用选择合适的数据库来持久化其领域数据至关重要。不同类型的数据库适用于不同的数据存储和检索场景,本文将重点介绍键值数据库和图数据库的特点、适用场景以及相关产品。
键值数据库
在某些场景下,应用需要高效地存储和检索总是通过相同键进行查找的独立数据实体。例如,会话管理和数据缓存就属于这类场景。会话用于在服务器上存储 Web 应用的数据,以跟踪 Web 用户的历史和上下文;数据库缓存则存储从数据库中检索的数据,避免应用反复从数据库中获取数据。
当应用通过指定唯一 ID 来存储和检索数据时,数据库可以轻松地对这些数据记录进行索引。数据库将唯一 ID 用作键,并存储按该键索引的记录。下次应用指定相同的唯一 ID 时,数据库使用该键来检索记录。数据库可以将记录存储为原子值,而无需了解所存储值的内容或结构。
在这种场景下,关系数据库和文档数据库会增加许多不必要的开销。这些数据库中的记录不一定具有唯一 ID,或者应用不一定能明显看到这些唯一 ID。应用期望搜索符合其条件的多个记录,而不假设匹配结果总是恰好一条记录。数据库理解每条记录的结构及其包含的字段,分别存储字段值并对某些字段进行索引,以便应用查询这些值。数据库还理解不同记录之间的关系,将它们作为一个集合进行管理,使应用更轻松地检索多个相关记录。但当应用知道所需记录的确切 ID 时,这些开销就变得不必要了。
因此,当应用总是通过相同的键进行查找时,应将其数据存储在优化为像哈希映射一样工作的键值数据库中。键值数据库是一种 NoSQL 数据库,无模式,因此可以按照应用提供数据的方式存储数据,而无需预定义模式。键值数据库通常是可
超级会员免费看
订阅专栏 解锁全文
630

被折叠的 条评论
为什么被折叠?



