非关系型数据库存储模型与图数据库技术解析
1. 列族存储数据库
1.1 基本概念
列族存储数据库以 Google 的 BigTable 为模型,其数据模型基于稀疏填充的表,行可以包含任意列,列的键提供自然索引。在讨论中,常使用 Apache Cassandra 的术语,尽管 Cassandra 并非完全忠实于 BigTable,但它应用广泛,其术语也广为人知。
1.2 构建块
列族数据库有四个常见的构建块,具体如下:
| 构建块 | 描述 |
| ---- | ---- |
| 列 | 最简单的存储单元,由名称 - 值对组成 |
| 超级列 | 由任意数量的列组合而成,为一组排序的列命名 |
| 列族 | 当行仅包含列时,称为列族 |
| 超级列族 | 当行包含超级列时,称为超级列族 |
1.3 数据表示与查询
虽然数据模型表面上是列导向的,但行很重要,因为它们提供嵌套哈希映射结构,用于非规范化数据。例如,可以将记录艺术家及其专辑映射到超级列族结构中。在列族数据库中,表中的每一行代表一个特定的总体实体,列族是相关数据的容器,其中包含实际的键 - 值数据。通过“排列”键,可以找到特定条件下的所有行,进而提取完整的实体数据。
1.4 与其他存储的区别及特点
列族数据库与文档和键 - 值存储的区别不仅在于其更具表现力的数据模型,还在于其操作特性。例如,基于类似 Dynamo 基础设施的 Apache Cassandra,专为分布式、可扩展性和故障转移而设计,使用多个存储引擎处理高写入负载。总体而言,列族数据库具有
超级会员免费看
订阅专栏 解锁全文

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



