存储方式对比
行式存储就是每一行的所有数据存在一个block中,各个block之间连续存储;列式存储就是每一列的所有数据存在一起,不同列之间可以分开存储。
MySQL中的infobright存储引擎是列式存储,InnoDB和MyISAM存储引擎是行式存储。
列式存储是非关系型数据库中的一种,非关系型数据库的目的在于去掉关系数据库的关系型特性,使得数据之间无关系,使得扩展性高。非关系型数据库一般具有大数据量、高性能的特点,典型的有Key-Value键值存储数据库等。
HBase严格来说不算是列式存储,有人称其为面向列式的存储,其具体存储方式见这篇文章:五分钟轻松了解Hbase面向列的存储–李新杰的博客园
优缺点对比
简单对比
/ | 行式存储 | 列式存储 |
---|---|---|
优点 | > 数据被保存在一起, > INSERT/UPDATE容易 |
> 查询时只有涉及到的列会被读取, > 投影(projection)很高效, > 任何列都能作为索引 |
优点 | > |