18、非关系型数据库存储模型深度解析

非关系型数据库存储模型深度解析

1. 列族存储概述

列族存储模型源自谷歌的 BigTable。它基于稀疏表,行可包含任意列,列的键提供自然索引。在讨论中,我们采用 Apache Cassandra 的术语,尽管它并非严格遵循 BigTable,但应用广泛且术语易理解。

列族数据库有四个常见构建块:
- :存储的最小单位,由键值对组成。
- 超级列 :多个列组合而成,为排序的列集命名。
- 列族 :行仅包含列时称为列族。
- 超级列族 :行包含超级列时称为超级列族。

虽然数据模型表面上是按列组织,但行很重要,因为它们提供嵌套哈希映射结构,用于非规范化数据。例如,可将记录艺术家及其专辑映射到超级列族结构,逻辑上就是映射的映射。

在列族数据库中,表的每行代表一个特定的总体实体,如艺术家的所有信息。列族是相关数据的容器,如艺术家姓名和唱片目录。列族内包含实际的键值数据,如专辑发行日期和艺术家出生日期。

行导向视图可转换为列导向视图。行能提供单个实体的完整视图,而列视图能自然索引整个数据集的特定方面。例如,通过对齐键可找到所有艺术家为英国人的行,进而提取完整的艺术家数据。

列族数据库与文档和键值存储的区别不仅在于更具表现力的数据模型,还在于其操作特性。例如,基于类似 Dynamo 架构的 Apache Cassandra,专为分布式、可扩展性和故障转移而设计,内部使用多个存储引擎处理高写入负载。

总体而言,列族数据库具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值