文章目录
数据的行式存储和列式存储
最近在公司接触到了与大数据有关的内容,其中要对一个框架进行升级, 其中很重要的一个概念就是将数据的存储由传统的
行式存储
转换到利于数据分析的列式存储
.这其中需要一个比较大的思维上的转变,在网上查阅了很多的资料之后,自己进行了一个小小的总结
一. 传统的行式存储
传统的行式存储看起来是那么的自然,那么理所应当.大家日常生活中使用的成绩单,Excel表,学校中学习的数据库都是以这种数据格式进行存储.行式存储在逻辑上将数据看成一个个的实体
.例如一个学生有名字,性别,年龄等,例如(marklau,male,21)这样属性聚合起来构成了一个实体.
行式存储非常符合日常生活的处理逻辑,在生活中,大家都是作为一个个独立的个体的存在,并且与另外的个体进行不同的交互.例如:大家去学校的教务网站去查询自己的成绩,在商店购买一样商品等.在这些场景中大家都是针对某一个个体进行操作.
1.行式存储在磁盘的存储
以下面的一张mysql
表为例
// 表结构
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | i