Cognos TM1的前世今生:TM1是哪来的?

浏览: 3150

每次在和别人谈起TM1的时候,别人总是问:“什么?TM1是什么?是哪家公司的?没听说过。”不过神奇的是,这个貌似名不见经传的OLAP产品(在中国更是如此),已经有了25年的历史了。可以说是在40年BI/OLAP历史中(从60年代IBM的APL算起)存活时间最长的产品了。

2007年底Cognos花3亿多买了Applix(TM1的公司,原来是做CRM的)主要是冲着TM1去的,随后又被IBM以豪爽的50多亿改了蓝色(Cognos原来是红色的)。1年后的今天(2009年9月) IBM在收购Cognos后推出的第一套新的BI套件Cognos Express则是在TM1 in-memory实时多维数据库平台上全新开发的面向中型企业的BI解决方案,基本可以认为是Cognos BI原有的功能+TM1Excel的客户端+运行在TM1 Engine上。

看上去貌似TM1的春天要来了,一下子,关注TM1的人多了,无论是在IBM内部还是在市场上。负责人的说,凡是TM1的用户,很少又不喜欢的,很少有最后换别的产品的,而且绝大多数还爱不释手,就像我。早就想写一些关于TM1的科普内容,因为我发现这方面的文章比较少(某种程度上体现了Applix有限的市场能力和投入),中文的几乎没有。让我们从TM1的缘起开始吧。

SpreadsheetRevolution

要谈TM1的产生,就不得不先谈谈Spreadsheet产品,例如Lotus-1-2-3和Excel。这个也比较容易理解,就算今天Excel相信仍旧是应用最广泛,最实用的分析工具。OLAPReport 把Excel认为是最原始的OLAP产品,其实PivotTable就是OLAP的概念。80年代Spreadsheet的诞生,通过极其简单的,甚至中学生都可以理解的“公式”,极大程度上扩展了分析人员的能力,例如:报表、分析、计算。更加巧合的是,同一时间正式PC开始普及的年代,所以Spreadsheet的应用伴随这PC走进了几乎所有分析人员的办公室,

财务经理 (现在仍然如此,我想这可能是财务的基本技能了),预算、计划人员,业务分析师,经济学者,科研人员等等。

但是,随着Spreadsheet的应用越来越广,问题也就随之而来。

主要问题包括:

    *表格越来越大,处理速度越来越慢,大表格不得不被分为若干小的表格,在用公式连起来。但是同时牺牲了数据的    Transparency。分析人员花大量时间Fix 公式

    *Spreadsheet是二维的,但是通常存储多维的数据。比如公司的财务报表by 地区,by 产品,by渠道等等,为了实现多维,相同的数据存储了很多遍。分析人员花大量时间Reconciliation。

    *计算公式里既包含数据计算的部分,又包含程序逻辑,比如链接不同的表格。分析人员需要更多的时间理解计算结果

    *报表从一个人传到另一个人,数据很容易被更改和调整

其实OLAP的解决方案可以很好的解决以上的所有问题,

这就是为什么TM1最早是作为Spreadsheet的在多维计算方面的延伸。ManuelPerez是TM1的发明人,TM1被Applix买了后成为Applix的CTO(内部尊称 The Don)。

Manuel’smulti-dimensional Spreadsheet

80年代初期,Manuel担任Exxon埃克森原油公司 (1999年与Mobil美孚合并,成为埃克森美孚)的IT部门经理。为了实现原油供给与需求的预测和计划,分析人员必须使用铅笔和计算器在纸上进行大量繁琐而繁重的手工计算。唯一的计算机系统用于将公司各个分支机构的计算结果汇总。即便是这样的系统在当时也十分昂贵,功能绝少得可怜。

有着一定数学知识的Manuel意识到复杂的计算需要Multi-dimensional(多维度的)数据结构支持。一开始Manuel尝试在传统的RelationalDB中模拟,但很快他发现这种通过关联表的模拟结构无法实现快速的计算速度(这可能是ROLAP结构在速度上无法和MOLAP竞争的根本原因),如果要提高计算速度,唯一的方法是将整个模型驻留在内存里。

于是Manuel 开始在公司的IBM的Mainframe (大型机)上进行实验,最早用PL/1高级语言编写了驻留在内存中的基于Cube (数据立方体) 的数据结构,能够实现Pivot (旋转)并且实时的进行Consolidation。这个应该是OLAP最早的雏形之一,个人觉得在当时还是非常的强悍的。要知道那时候还没有像样的Spreadsheet的工具,

Lotus 1-2-3 和Excel都是在80年代中后期才有的。

而Manuel 这个基本上就是Excel里的PivotTable了,就是没有可视化的客户端,只有分析师能看得懂的数学公式。

然而这个新的模型遭到了Manuel自己IT部门的反对,因为多维数据模型是有悖传统关系型数据库的设计思想的。虽然很多分析师用户非常喜欢新系统的灵活、易用、成本低,但是在企业级的IT应用领域始终还是“无名之辈”,永远成为不了主流。很大程度上,这种尴尬伴随了TM1和in-memoryMOLAP产品20多年,以往大大小小的项目实施,TM1永远是真正分析师用户,例如典型的财务部门,或CFO的最爱,在CIO或传统的IT部门眼里永远是“不入流”的“实验室”产品。直到最近64bit的出现,直到Cognos和IBM的并购。

相当经典而又讽刺的是当IBM花了50亿买Cognos的时候,买回来的两个FPM领域内的用于Planning,budgeting的产品

(TM1, Cognos Planning)都是最早诞生在IBM的。IBM可能是in-memory OLAP最早的先驱了,早在60年代,就有了Multi-dimensional 语言APL,并在1967年有了第一个实用的应用(IBM1130mainframe)。而Cognos Planning 原来的名字是Adaytum是源于IBM1980基于APL的Frango项目。直到现在CognosPlanning中的Analyst组件还在使用类似与APL的语言。不过IBMR&D的实力还是令人仰慕的,从Cognos收购后对TM1的投入可见一斑。

TablesManager 1

带着对自己IT团队的沮丧,挫折和无奈,以及分析师和最终用户们对新系统的渴望和认可,Manuel走上了创业的道路。1984年,Manuel成立了SinperCorporation,并推出了Tables Manager 1 (short forTM1,写全了反而貌似和IT或BI一点儿关系没有了,更像是买家具或者餐饮业了)。这次Manuel没有继续选择昂贵的IBMMainframe,他想产品变成分析师真正的工具,可以安装在个人电脑中,也可能是他失去了相应的主机资源。当时VisiCalc(最早的Spreadsheet工具,是Lotus 1-2-3和Excel的前身)在的PC领域的成功启发了Manuel,他买了一台IBMPC(256K内存+两个软驱)上,用MicrosoftPascal编写完成了TM1 1.0。

第一个版本TM1虽然很原始,但是已经包含一个可以链接到多维数据库的Spreadsheet(可怜的Manuel,在没有Lotus和Excel的年代,连这个都要自己写);

以及一个Cube浏览器+后台的多维数据库,不过是在本地的,只能供个人使用。现在TM1管理界面还叫“ServerExplorer”。这个最早的版本就支持Multi-Cube和Dimension(维度)的共享,知道现在这个还是TM1典型的优势。TM1仍旧是到目前为止唯一支持Multi-Cube的企业级的OLAP产品,Multi-Cube可以将复杂的模型简单化,更加面向对象,更容易构建基于Driver的Real-timePlanning模型,实现What-if分析。

从Tables Manager 1 到 IBM Cognos TM1 9.4

1984年,首个TM1版本

1987年,Hypersparsity技术的应用

(不知道是干啥的,估计与提高Performance有关)

1989年,第一个Client/Server版本

多维数据库可以单独运行在服务器上,配合以多维数据结构的Security 模型,对工作组业务分析的协作提供支持。

从而解决了Spreadsheet领域内最后一个难题,”multipleversions of the truth”(其实20年后的今天,这仍然是计划、预算、预测领域里的一个主要问题)。

1992年,推出Cube Rules(计算规则)

1996年,并入Applix 公司

Stargate Optimization (to improve thereal-time on-demandcalculation)

推出UNIX 版本

1998年,在7.0版本中推出了面向对象的界面;Multithreading (多线程) 技术的应用

2000年,Turbo Integrator(ETL工具)

In-spreadsheet Browser

2002年,在8.0中,推出了第一个Web-based Cube browser

改进并从新推出了Cell level Security控制(可能到现在还只有TM1可以做到)

开始支持MS 的ODBO,以及MDX

Dynamic Subset,对于做Top/Bottom X的报表超级实用

2003年,在8.2版本中推出了64bit版本,彻底了解决了3GB的内存限制

推出了基于Excel技术的 Web-based Worksheets

2005年,全新的9.0版本,重新优化了64bit Server

新开发的基于 .net 2.0的Web Interface

新的面向对象的应用管理

全新的系统锁死算法和机制,很大程度上改善了并发用户的性能

2006年,

收购了Temtec 的Executive Viewer 最为更高效的Web界面

EV 是一个thick web客户端,通过在客户端一定的处理能力,提升了速度

2007年,

推出9.3版本,完整集成了EV

并入Cognos,成为FinancialPerformance Management 产品线的新的旗舰产品

2008年,推出了基于Unicode的9.4版本,完美支持中文、日文等双字节文字

新的Active Report,可能是目前为止最强大的Excel OLAP客户端,同时支持Web

新的强大的metadata audit log,监控所有metadata 的变化

同时与Cognos 8.4 进行了集成

TM1一直以来保持了和Spreadsheet产品的紧密集成性,无论是Excel还是Lotus1-2-3,用户可以通过spreadsheet公式与多维数据库连接。不过如此,多维数据库的管理与维护也都是通过Spreadsheet的插件来实现的。从而面向熟悉Spreadsheet的用户(特别是广大的财务和业务分析师)提供了最友好的界面和功能性。

应该说TM1是典型的用户需求驱动的结果,特别是分析人员的需要,一切好的IT产品,好的应用,包括好的项目实施都离不开实际用户的需求。但是长久以来随着IT产业的日益强大、巨型IT寡头的逐步形成、甚至是企业内部IT部门重要性的日益增长,似乎IT人倾听需求的能力在减弱。一谈到BI的项目,首要的问题都是,吞吐能力、稳定性、Security、双机热备份、Web界面因为好维护、好看的图表、批量打印…..不是说这些不重要,不是需求,这些只是需求的一小部分:IT部门的需求。而BI/OLAP的真正用户应该是分析师们。我想TM1长久不衰,深受分析人员喜爱的原因正在于此。

推荐 1
本文由 H_Elsker 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册