当前位置: > 论文中心 > 计算机论文 >

是谁革了传统BI的命?

时间:2015-09-02 08:58 点击:
如果我们抛开传统BI复杂的原因是计算能力不足这一点不谈,单看传统BI和敏捷BI的区别,你会觉得没啥了不起,就是把架构简化了,去掉了一些环节而已。 换句话说,看起来开发一个敏捷BI的工具也不难,不需要考虑建模等技术功能的话,跟开发一个前端展现的绘图工
  如果我们抛开传统BI复杂的原因是计算能力不足这一点不谈,单看传统BI和敏捷BI的区别,你会觉得没啥了不起,就是把架构简化了,去掉了一些环节而已。
  换句话说,看起来开发一个敏捷BI的工具也不难,不需要考虑建模等技术功能的话,跟开发一个前端展现的绘图工具似乎差不多。
  但如果事情就这么简单的话,那为什么传统BI的数据分析方式持续了这么多年?
  这时我们就会发现,计算能力这个话题是绕不开的。开发一个类似的前端工具确实很简单,但如果不突破性能,而且又采用了新架构,计算任务需要用户点击才开始执行,那换来的只能是一场灾难。用户会发现原先的传统BI虽然过程复杂耗时长久,但好歹计算完了看报表时还是很快的,现在打开报表居然要等几十分钟或几个小时,还能让人按时下班吗?
  所以,实现敏捷的BI有个必不可少的大前提,就是计算能力要有几十倍甚至几百倍的提升,才能让计算和交互完美完成。
  现在,让我们一探究竟,以永洪科技的敏捷BI产品(永洪BI)为例洞悉敏捷BI实现高性能计算的方法原理。
  列存储
  非技术人员都有个心理阴影,就是一看到技术名词潜意识里就觉得恐惧和排斥,认为技术高深莫测复杂至极,自己不可能搞懂。其实这些名词仅仅是一些名词而已,都可以用一句大白话说明,背后也没有多少不能理解的奥秘。造成这种阴影技术人员有责任,总是满口术语而不解释,认为听者理所应当像自己一样知道这些术语的含义,实际的结果就是造成沟通不畅。而正如前文所说,科技一定是朝着人性化的方向发展,因此,笔者认为非技术人员应该是作为评判技术的法官般存在,凡是不能让非技术人员理解其作用的技术都不是(或者现阶段不是)用户需要的技术。
  我们来聊聊敏捷BI涉及的第一个技术——列存储。列存储不是新概念,早在1985年SIGMOD会议上就有文章“Adecompositionstoragemodel”对DSM(decompositionstoragemodel,列存储)做了比较详细的介绍。
  存储很容易理解,不管在屏幕上看到的是怎样花花绿绿的漂亮内容,其核心信息都是以文件块的形式存储在服务器的硬盘里的,当文件块里的内容被用到时,硬盘会通过磁头的I/O(Input/Output,输入/输出)把数据读出写入内存进行处理。
  有列存储,对应自然就有行存储,后者是更早产生的数据存储形式,应用也更广泛。行存储就是以行为单位进行存储的机制,可以简单理解为每一个文件块都是N行的数据,每一行包括了所有列。列存储是以列为单位进行存储的机制,每一个文件块都是一列的数据,这一列跨越了很多行。
  行存储和列存储在技术上没有好坏之分,只是基于各自的特点适用于不同的场景。而BI系统的数据库则是另一种场景,在BI系统里进行分析的通常都是已经确定了的历史数据,如果分析昨天的销售情况,结果昨天的销售数据还老频繁发生更改,那么分析的准确作用就丧失了。在数据分析的过程中,通常我们只需要某几列的数据,比如分析不同区域收入占比的情况,只需要用到“区域”和“收入”这两个字段,也就是两列,采用列存储,就可以很容易地只把这两列对应的文件块读出写入内存。但如果是行存储,则需要把所有用到的行里面所有的列都读出写入内存,并且绝大部分都是不需要的冗余列,性能上要差很多。更何况硬盘的I/O是整个硬件体系中最慢的一个环节。

   论文榜(www.zglwb.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导代理,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
投稿辅导热线:
189-6119-6312
微信号咨询:
18961196312