500年前,高层建筑,如同行式数据库一般,由墙壁提供水平支撑。由于当时钢铁数量有限、价格昂贵,如此大型的建筑物在高度上受到限制。美国最早期的高层建筑之一就是纽约市摩天大楼“世界大楼”,它高309英尺,共20层,建于1890年。台湾的台北101楼高1474英尺,共101层。诸如此类的现代摩天大楼则是垂直支撑在钢骨架上。目前,台北101是世界上最高的建筑物。但第一的地位很快将被取代。迪拜目前正在建造更高的建筑。这些现代摩天大楼如同列式数据仓库一般,它们的楼高可以并且也将越来越高。
“列式数据仓库以更低成本提供更佳性能,而且所用空间比传统行式关系型数据仓库更小--因此,很难理解为什么那些特别关注查询性能的公司不考虑采纳列式解决方案。”Philip Howard在他洋洋洒洒的报告《“列”酷在哪里?(What‘s Cool About Columns)》的结尾处写道。该报告发表于2008年3月,是专门提供给欧洲主要信息技术分析组织Bloor研究公司的。
不断成长
事实上,列式数据仓库--Sybase IQ分析服务器--是由其与Sun SPARC Enterprise M9000 Server和BMMsoft Server共同打造而成的全球最大的数据仓库的核心。这一开创纪录的成就涉及1PB(即1035 TB)的原始数据。(详情请见《2009 年吉尼斯世界记录》第 144 页)
我们知道列式数据仓库其实是由Sybase于1993年首创、并在1996年发布的,但近期发生的众多列式数据仓库的相关事件却才刚刚吸引人们的广泛关注。这或许会让人感到困惑,因为在其经过12年发展的今天,Sybase IQ才逐渐赢得主流市场的认同,列式数据仓库的竞争也开始表现得十分活跃。或许,正是上述表现,加上Sybase自身致力于向市场宣传其卓越的分析服务器,以及商业环境的变化(如人们要求在保持性能的同时降低成本)才是根源所在。
Bloor的Howard似乎同意这一观点:“在过去十年里,列式方法的使用在很大程度上一直是一个小众事件。”Howard注意到,近期有8个供应商进入到这个曾是Sybase独享的领域,且全球2000强公司越来越关注该领域,“我们相信,是时候让’列‘走出阴霾,成为数据仓库和相关市场的主要力量了。”他补充。
Sybase IQ目前约有1300名用户,由此可以说,如今的列式数据仓库已经走出了阴霾。在Bloor 13页的报告中,Bloor 详细说明了列式关系型数据库“可能曾经是什么”,和它们的作用、工作方法以及与传统关系型数据库相比的优势。早在2001年,Geoffrey Moore就评价说:它们是最根本、最前沿的技术。
当时,硅谷最优秀的技术大师之一、影响深远的商业书《跨越鸿沟》(Crossing the Chasm)一书的作者Moore认为,Sybase已经将经典的数据库行式架构模式“完全”改变为列式架构,提取数据的速度比传统数据库快100倍,而且支持与多人实时共享。“这是一种全新的模式,由此可以创造无限的市场机遇。”Moore特别强调了该产品的特点,“了解列式数据库对分析的含义。”
优势所在
来自全球最大的数据库专家Winter公司的Richard Winter在《新时代的高效数据仓储》白皮书 (http://www.wintercorp.com) 中如此解释Sybase IQ的架构:“它旨在支持大量用户的并发运行特别是查询。因此,该设计和工程过程……首先关注的是查询性能,其次是完成批量数据更新的速度,再次是小数据更新的性能。这一优先排序与通用引擎截然不同,后者用于在线交易处理和数据仓储(实际上,这通常更强调交易处理)。这样的引擎必须尝试同时实现复杂查询的交互性能和高容量在线更新。由于Sybase IQ的设计目标严格以数据仓储为主,其架构和性能特征相当明显,这有利于数据仓库用户。”
例如,拥有数百万用户的在线购物服务可能需要基本的查询功能。问题可能是:随着圣诞节的来临,过去3年有多少纽约人购买了珠宝?为了回答这一问题,行式数据库将需要50万次输入/输出(I/O)重新定向。因为,行式流程将需要处理大量不相关的数据。在Sybase IQ的列式操作中,要回答此问题则只需要234次I/O。这些数字是利用1600万行、在一个表格上进行计算而获得的。事实上,要进行适当的查询,从每一列获取的数据应始终小于从传统数据库获取的数据。这意味着I/O次数减少,因此列式数据库的性能更佳。行式数据库管理员试图通过构建数据的摘要、聚合和索引,解决与行相关的问题,但是优先采用列式数据库便可解决所有问题。
上述就是Sybase IQ的设计与传统数据库的不同之所在:前者专门定向,提供分析用商业情报仓库,而后者主要用于完善交易--两者的任务不同。
“与行式架构相比,‘将数据储存在列中’采纳压缩算法,提供了大量提高性能的机会。”来自麻省理工学院的三位作者在2006年的一份报告《列式数据库系统集成压缩和执行》中如此描述。三位作者分别是Daniel J Abati、Samuel R. Madden 和 Miguel C. Ferreira。他们在报告中指出,在列式数据库中,采用一次性对多个值进行编码的压缩方案很自然。“而在行式数据库中,此类方案效果不佳,因为属性储存为整体元组(元素集)的一部分,因此将不同元组的相同属性,结合到一个值中将需要采取措施‘混合’元组。”他们解释。
来自Bloor的Howard写道:“从行到列的变化看起来微不足道,实际上意义深远。”正是由于人们越发认识到其意义深远,Sybase IQ的特殊分析列式存储才激发了如此大的热情。在业务环境下,任何人在开发数据价值的同时都随处面临数据超载的问题,他们也致力于寻求控制方法。此时,Sybase IQ的一个优势在于,其数据处理速度比传统方法快 100 倍。Sybase IQ的高速分析能力可几乎实时处理大量的特定查询。另一个优势在于,它仅处理可以回答这些查询的列,而不是分类整理与特定查询无关的数据行。这自然加快了流程。
此外,列式方法应用优化的压缩--效率高达 10:1 以上,同时,每个列的数据保持一致(种类、采购日期和地点)。这意味着可以使用更少的磁盘空间存储更多信息,从而提供更多可供分析的历史数据。
在Sybase IQ众多客户中,法国Prémalliance公司是法国国内主要的社会福利提供商。凭借Sybase IQ,该公司的技术成就脱颖而出,并荣获2008Computerworld Honors(2008 年计算机世界荣誉)的桂冠奖。
Premalliance需要整合和分析全球数据图表,展示其核心业务的福利合约所取得的商业、财务和技术成果。采用Sybase IQ的结果之一就是帮助Prémalliance完成其整合过程,并在不到5秒钟的时间内至少汇总3000万个数据行,而且不会对服务器造成巨大负荷。Prémalliance过去曾说,即使是为董事会董事准备报告也要求大量的IT资源投入,通常可以获得所需信息--但需要花2至3周才能将这些信息集合与组织起来。当然,今非昔比,Prémalliance仍有很多潜力可以挖掘,其发展可谓前程似锦。
网友评论