行式数据库与列式数据区别

        行式数据库顾名思义,存储格式是按照‘行’的方式把一行各个字段的数据存在一起,一行一行连续存储的,比如oracle、mysql。这样的话,对把一条数据的信息写到数据库中;或者对一条数据中的某些字段进行修改;或者删除整条数据一类的OLTP操作来说既直观也高效。但是,在行式数据库上做一些报表、分析的时候,大家又发现这种存储格式使用效率不高,因为大部分统计分析场景,例如:统计各省份的销售额和利润同比变化;按照部门统计业绩完成情况等等,都是在其中某些字段上的操作,行式数据库不分情况一律按照页面读取数据的方式,在只分析销售额和利润的时候,把每一份合同的其他信息,如客户名称,签约时间,客户经理等等也统统都读了进来,浪费了大量宝贵的I/O。

       对列式数据库的一点总结和展望

        列式数据库的思路原理并不复杂,把行式数据全部拆开,按照列的方式重新组合存储,一列的所有行的数据存放在一起,如何HBase、Gbase;按照列内数据的特征值(通常像时间、部门代码、销售地区等维度字段的特征值并不多,几个到几百个很常见)进行高效编码,并且在实际存储中以编码形式存储,这样就带来了大比例的压缩。
带来的好处是:原来只分析销售额的查询就只访问销售额字段,即使是所有历史时期的数据,也不存在读多余的无关数据的问题。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值