宽列数据库

宽列数据库 #

知识点 #

与关系型数据库比较

关系数据库  ⇒ 数据库  ⇒ 表    ⇒ 行  ⇒  列(Columns)
宽列数据库  ⇒ 键空间  ⇒ 列族  ⇒ 行  ⇒  列

宽列数据库特点

  • 每行都可以由不同列组成。
  • 对大表友好。
  • 无模式。
  • 数据自带版本管理。
  • 稀疏。空列(null)不占用存储空间。
  • 通过行键实现索引查询,除此之外不提供任何索引。

HBase

  • 面向列。以列族形式存储,扫描数据时只需扫描用到的列。
  • 数据类型只支持字符串,内部实现为字节数组。
  • 每个列族存储在HDFS上的一个单独的文件夹中。

Cassandra

  • 面向行。基于行键存储,每行可以由不同列组成。
  • 支持int、bigint、decimal等多种数据类型,但内部实现都是字节数组。
  • 数据先写入CommitLog,再写入内存中的Memtable,最后持久化到SSTable(Sorted String Table)。一个列族一个SSTable文件。

最佳实践 #

。。。

沪ICP备17055033号-2