技术开发 频道

主题: 商务智能的利器—Sybase IQ


Sybase中国有限公司技术总监卢东明



 耿英英:     谢谢杨晨先生的演讲,先进的技术总是伴随着先进的技术一同起飞,是什么样的技术驱动了商业智能的发展呢?Sybase又提供了什么样的解决方案呢?下面我们有请Sybase中国有限公司技术总监卢东明先生为我们讲商务智能的利器演讲,有请。

 卢东明:     大家好,非常高兴能够今天有这个机会跟中国IT界的精英一块来探讨一些BI的东西,刚才IBM的同仁提到了在数据库,在数据仓储这个领域里的一个灵活性,甲骨文的同仁也提到新一代的数据库,微软的同仁也讲到了说要增加企业的,或者说是在应用里的洞察力,我想从三个角度,我今天给大家一个实际的应用的例子,给大家讲一讲所有这些东西在我们今天怎么样表现。

首先我想讲一下商业智能无处不在,其实这个片子大家可以不用看,我今天要讲的一个无处不在在什么地方呢?去年美国《时代周刊》的年度风云人物,我不知道有谁知道,一个人,就是你,所以我今天讲到商业智能无处不在就在这里,就在我身上,我刚才以为我还有两分钟时间可以讲我的,结果我发现我有负十分钟,所以我很快做一个商业智能的决定,我把我的片子从20几片缩到了15片,我把所有没有图的都删掉了,我希望图能够吸引大家一点,但是我并没有丢失我要讲的核心的内容。
     这个词实际上现在越来越火,那么什么叫,到底你是想做B,还是想做,你是想表现的非常忙呢?还是每天好像都在做,每天在你的IT系统里面花了很多的精力和时间、钱,做了一个很大的事情呢,还是想真正的把你的提高,提升到一个新的层次上,这是我们现在真正面临的问题。其实我想提到从英文的这个词来讲,没有什么意义,就是所谓的商业,我们怎么翻译都可以,但是中文很有意义,中文我们不仅仅可以把它翻译成商业,还可以翻译成生意,我经常会说,我有一个生意,生意这个词大家仔细研究研究,生意,你要生意才可以生存,怎么样生意?产生一个创意,你如何在你的商业里边,如何在你的企业里边产生新的创意,是我们今天每一个企业,同时也是对我们每一个企业IT部门提出一个要求,怎么样帮助我们每一个企业,挖掘我们每一个企业里面的创意,才能够生存,才能够发展。

     那么今天我们讲到BI,我们想讲一下,到底我们在这个BI的发展过程当中面临什么样的挑战,我们目前面临是什么样的问题,我们有什么样的解决方案。那么从过去的数据库,数据仓库到现在BI,实际上提的词一直在一点一点的变,核心的东西变得并没有那么多,但是我们可以看一下数据仓库系统发展的规律,总是有一个层次,就是说在最底层通常大家在一个企业里边,我首先的要求是说我的企业报表,我各种各样的财务报表,人事的报表等等都能够及时出来,这是一个非常底层的要求。往上就会要求建立历史的数据,数据量变得很大,然后进行很多的分析,再上一层真正的BI,就是从这些数据里面怎么样支持我们企业的决策、运营,这是慢慢提高一个层次的要求。大家看看目前有没有这样一个数据库,真正能够在单一的数据库里面,能够满足OLTP和OLAP的需求,实际上大家看左边这个图,当你面临一个像北京这样一个非常拥挤的城市,你要开车进到王府井,你要想找一个停车位的时候,你需要一个什么样的车?你是需要一个像前面那样一个SUB那样一个很大的车,还是希望有后面这样一个小车,我走到哪儿都可以找到一个停车位,别人不能停的地方我能停,这是OLTP的一个特性,它要求快进快出,短小精悍,我每一个事物我都能够在最短的时间毫秒级把它解决掉,但是反过来面对企业级的BI系统,通常我们有海量的数据,我们有复杂的分析,有各种各样的查询,这种时候小车,如果今天开会的一块到餐馆吃饭,我们是用那样的小车拉35遍呢,还是我们宁可要这样一个双层的大客车,可能三辆车就把人都拉走了。

那么实际上大家意识到一点,就是说在数据当今发展的领域里面,OLTP和OLAP这是两个完全不同的应应用,目前很多数据库产品都把这两者混为一谈,就是说你建的是数据库,往大了走就是数据仓库,你有一些特性,加上一些来帮助你解决,但事实上没有一个数据库产品能够真正完美的解决这两类,完全两类不同的应用,那么的理念实际上是针对这两类不同的应用有两类不同的产品,首先我们看一下IT的瓶颈到底在哪里?我看到一个材料特别提到了数据库、内存,还有硬盘,这恰恰是我们一个大的IT系统,计算机系统,非常密切跟这些系统相关的三个成份。

那么我们看一下瑞士联邦技术学院的信息中心研究所,他们研究了过去的这些IT领域的一些发展的规律。他们发现什么呢?他们发现说CPU的速度每年大概增长5%,很多搞电脑的人都知道摩尔定律,那么下边这张图实际上就是表示了上面那条线是摩尔定律的曲线,就是说按照摩尔定律它每18个月这个CPU的速度增长一倍,它是说集成度增长一倍,转换过来的就是速度增长一倍。下面这条线是英特尔公司从70年代到现在他们的CPU产品的一个集成度的一条曲线,下面这条线基本上它到不了18个月,但是它在两年会翻一倍,每年增长是50%的样子,这个速度是相当惊人的。我们没有人愿意用五年前的电脑,那么内存容量会增长,速度也提高,那么根据他们的研究每三年会增长4倍,但是硬盘存储量过去的10年里只增长了2倍,吞吐量和容量是完全两个不同的概念,你以前用的硬盘可能是10兆,一个G,现在你可能轻易买到四五百G的硬盘,我可以跟你讲,你可能哪一年自己家里就有TB级的硬盘,那么硬盘的发展只能变大,没有办法变快,所以这也导致了IT的瓶颈就在IO上,他们最后做的结论是IO的瓶颈在恶化,其实我相信所有做大型的数据库,数据仓库应用的人都会有切身的体会,我就不用一一列举说什么样的情况下你们很头疼,什么样的情况下你们没有解决方案。

     那么在这种情况下我们看一下过去数据库这几十年的发展,其实都是围绕着一些现有的技术,从文件系统上升到数据库,在最初的那个概念上再做一些周边的优化,没有一个革命性的进步,Sybase  IQ这个数据仓库的产品是第一个有革命性进步的产品,为什么这样讲?首先第一个特点它是列式存储,列式存储不同于很多数据库现在有的列式索引,很多数据库都会有专门在某一个列上加上一个索引,但是列式存储是从最根本上,数据进到数据库的时候就是以列存储,而不是以行存,传统的数据库当你按行存的时候,它的优点就是一条很容易进来,开一个小的存储空间马上容易进去,但是反过来它每一行都是连续这样排下去的,当你要做一个分析时候,比如说第九个字段是省份,全国的人口,要统计一下各省份都有多少人,我要统计这样一个情况,在第九个字段上,这个表可能有2000个字段,在数据仓库的系统里面更多会看到上千个字段的一个表,而不是20个字段的表,当你做这样分析的时候,你就要去读所有的一行一行的数据,读完了以后你把读出来95%的数据全都扔掉,你说我只要第九个字段,我们刚才说IO是瓶颈,最没有办法突破的地方是IO,在我们传统数据库面对数据应用的时候,你浪费最大的资源就是IO,那么SybaseIQ怎么样存储数据呢?它是按列存的当你数据进来的时候我已经是按列存的,当你在做同样的应用需求,你说我还是要统计一下各省市的分布情况,我不会在其他的199个字段上做任何的IO,我只在第九个字段上做IO,我就可以做到说IO没有任何的浪费,其实在一个系统里面,当你把数据,所要的数据读到内存里面经过CPU运算的时候,这个过程我相信各家数据库的优势、缺点都互相平衡掉了,都差不多,我把数据放在内存里面让你去算,我不相信哪家数据库赢哪家数据库一倍,或者是50%,那么SybaseIQ在这一起做了一个革命性的突破,我可以最大限度的节省IO。

那么我们看一下在这个基础上,因为我们是列式存储数据的类型都是统一的,我在每一列上我都知道它是什么样的数据类型,同时我还知道它的基数值,所谓的,什么叫?比如说我们人口的性别只有两个基数值,只有两种可能,省份只有30几种可能,但是我要说身份证号码,这就是13亿,身份证号码属于高基数值,性别和省份这属于低基数值,当我知道这个列的基数值的时候,SybaseIQ就会进行自动的压缩,它是一些比特值,它有一些转换表,而且它做进一步的压缩,有些连续的数据不会连续的存储,它会用描述性的来存储。
     那么通过这样的一个方式我们就达到了非常高性能的压缩,通常在IQ上面我们的压缩比可以做到30%到70%,什么一个概念呢?当你有一个TB的原始数据进来的时候,通过传统数据库里面一个TB进到库里面,通常就变成一个T或者1.1个T的概念,你要在上面加索引,在数据仓库里面要做一些中间结果,这些都是必须的,很正常的,但是当你把这些东西负载加上去以后,一个T通常会变成两点个T,这是非常常见,而且是很正常的,我相信在座的不管是也好,还是系统的开发人员也好,都会有这个感受。IQ它是在每一层都有大量的压缩,一个T的数据进来以后,会变成0.7到0.9个T,这样的话大家想象一下你去管理一个0.7T的数据库和管理一个6个T的数据库,你的复杂度和效率是什么样的。

     除此以外,IQ有丰富的索引机制,我们一共有九种索引,针对不同的数据类型,针对不同的基数值来帮助你提高查询的速度,我们看数据压缩的一个实例,是美国一家公司专门统计全球十大数据仓库的公司,每两年发布一个报告,这是05年的一个报告,我们看一下从数据库大小来说,雅虎的数据仓库当年是获得了第一名的头衔,100个TB的数据仓库,做一个媒体研究的公司,他们的数据仓库是第10位,SybaseIQ的技术,是17.9个T,原数据,雅虎是17.9T,所以6倍的数据膨胀在实际的例子里面很好的得到体现,SybaseIQ的压缩也在里面得到了很好的体现,最后是是5000亿行,雅虎是3850亿行,我想问大家一个问题,你希望用6倍的代价去做一个同样的事情吗?除此以外SybaseIQ在扩展性有一个很好的体系结构,叫做,当一个Server,不能负载查询的时候,你可以很容易的再加上一个Server可以马上的扩展出去,这个扩展性几乎是线性的。

我们现在目前在全球数字已经更新了,大概有1800个用户使用SybaseIQ这个革命性的产品,我们在中国,刚才提到的,中国精品一家入榜的数据仓库是广东电信,用的也是SybaseIQ,他没有进入前十名的大小是因为它压缩了,但是它的原数据13个进入了前十名,压缩了以后没有上榜,最后我们看一下整个BI系统里面,在BI的生态链里面,不管是前端的数据,还是中间件的过程,还是前端展现,数据仓库,数据仓库是整个BI存储的核心,数据仓库的产品好不好会很大程度取决你整个系统的一个代价,或者效益,回到我们今天的主题就是SybaseIQ在数据仓库这个领域里面,在商务智能这个领域里面是一个很锐利的武器,能够帮助你的系统在最小的代价上面能够得到最大的效益。     好,谢谢大家!
0
相关文章