商业智能系统
在1958年IBM系统期刊的一篇论文中,Hans Peter Luhn描述了一个系统,该系统基于每个用户“动作点”(ation points)的“兴趣信息”(iterest profiles),将文件通过“选择性传播”(slective dissemination)到动作点上。作者描绘了令人震撼的预测科学理论。该文章的标题是“一个商业智能系统”,它是“商业智能”这一术语在现代环境中的第一次应用。
除了实时信息传播,该系统还可以进行“信息检索”,即搜索,可以在全文资料库中执行。Luhn强调动作点,突出了信息处理角色在完成任务中的重要性。换句话说,仅仅收集并聚集数据是不够的;由于利用数据进行推断的洞察力很重要,企业必须提高能力来完成艰巨的任务。他还提出“报告人”需要周期性地筛选数据,有选择地将信息移到需要的动作点上。
从Luhn的论文发表之后,商业智能领域在过去五年得到不断发展,“商业智能”这个术语和结构化数据的管理更加紧密相关。今天,经典的商业智能系统是由ETL框架和商业智能工具组成:ETL有规律地把一组数据源中的数据抽取出来并加载到数据仓库中;商业分析师利用商业智能工具在该数据仓库上生成报告供内部使用。那么,我们是如何从Luhn的愿景走到今天?
在1970年,E.F.Codd首先提出了关系模型;在20世纪70年代中期,IBM拥有了关系数据库管理系统(RBMS)的工作原型。RDBMS极大地促进了构建面向用户的应用,到了20世纪80年代早期,这些应用已经非常普遍。
在1983年,Teradata出售了第一个关系数据库,该数据库是专门为Wells Fargo公司的决策支持而设计。几年后,在1986年,Ralph Kimball成立了Red Brick Systems公司,面向相同的市场构建数据库。以后,应用开发商就使用Teradata和Red Brick系统来开发解决方案,但是直到1991年,在数据仓库方面的首篇经典论文才发表。
Bill Inmon的《Building the Data Warehouse》(Wley出版社)一书,对数据仓库设计做了连贯清晰地阐述,它包含构建数据仓库的详细方法和最佳实践。Inmon提倡先仔细研究已有的数据源和商业目标,再构建企业数据模型。
在1995年,随着Inmon的书越来越受欢迎,数据仓库在企业数据中心内大量繁衍,数据仓库机构TDWI(The Data Warehouse Institute)诞生了。TDWI组织了有关会议和报告,在阐述和传播数据仓库方面的知识上,其依然是个核心力量。在斯坦福大学启动它的WHIPS研究机构那年,数据仓库在学术领域开始传播。
1996年,Ralph Kimball发布了《The Data Warehouse Toolkit》(Wley出版社)一书,对Inmon理论进行了挑战。Kimball提出了实现数据仓库涅(nrvana)的不同方式,首先摒弃了企业数据模型。Kimball认为不同的企业单位应该构建他们自己的数据“集市”(mrts),这些集市可以通过“总线”(bs)相连。此外,Kimball提倡使用多维建模,而不是使用范化的数据模型,前者的关系数据模型可以通过少量人工干预来适应很多数据仓库实现中的特定的工作负荷。
随着数据仓库的增长,通常情况下,商业分析家想要快速地操作少量的数据子集,通常这些数据是通过几个“维度”参数来描述。基于这些观察,微软的一组研究人员,包括Jim Gray,在1997年推出了CUBE操作符。该新的操作符允许在小的、多维的数据集上进行快速查询。
维度模型和CUBE操作符都意味着虽然关系模型在构建面向用户的应用方面获得了成功,但它可能并不是构建信息平台的最佳方案。此外,文档(dcument)和动作点(ation point)是Luhn关于商业智能系统提议的核心,而不是表。另一方面,整个工程师团队在构建关系数据处理系统中具备出色的专业知识。
在分析了一些背景知识后,我们再一起回到关于Facebook的探讨。