列式数据库 #
知识点 #
与关系型数据库比较
关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)
列式数据库 ⇒ 键空间 ⇒ 列族 ⇒ 行 ⇒ 列
列式数据库特点
- 支持大表。
- 无模式。
- 数据自带版本管理。
- 稀疏。空列(null)不占用存储空间。
- 通过行键实现索引查询,除此之外不提供任何索引。
HBase
- 面向列。以列族形式存储,扫描数据时只需扫描用到的列。
- 数据类型只支持字符串,内部实现为字节数组。
- 每个列族存储在HDFS上的一个单独的文件夹中。
Cassandra
- 面向行。基于行键存储,每行可以由不同列组成。
- 支持int、bigint、decimal等多种数据类型,但内部实现都是字节数组。
- 数据先写入CommitLog,再写入内存中的Memtable,最后持久化到SSTable(Sorted String Table)。一个列族一个SSTable文件。
最佳实践 #
。。。