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

来源:互联网 发布:网络贷款需要什么资料 编辑:程序博客网 时间:2024/05/19 11:19

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

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

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

       

原创粉丝点击