2008年(1812)
分类:
2008-05-03 18:40:59
决策支持系统(DSS,decision support system)或商业智能(BI,business intelligence)应用程序的一个主要目标能够快速地访问核心或基本企业商业信息,比如销售、库存、采购、制造等信息。这些数据通常只在统计级需要;而有些时候,决策制定者需要能够钻入数据以获得详细级信息。
这个方面的一个例子是访问特定的一家销售公司中一位销售人员在指定地区的一个地区销售办事处的总销售量。这个甚至可以详细到更细级别的“剥洋葱”的能力是多维数据存储的主要用途。被设计用来优化多维数据的管理、执行和分析的应用程序,就是所谓的联机分析处理(OLAP,online analytical processing)系统。
虽然这在 IT 界并不是一个新概念,但是人们对多维数据分析的能力、体系结构、甚至是术语的理解与实际情况有很大偏差。从更广的范围来讲,这是由于 OLAP 供应商之间的恶性竞争引起的。矛盾或夸大的宣传、快速开发系统的改进、供应商合并,已经导致目前就谁具有最好的产品或最新的思想上面出现了一个两难局面。对于初进入这一领域的 IT 从业人员来说,这个困惑通常导致糟糕或被误导的决策。
描述多维数据的最好方式是考虑Rubik 立方体。该立方体的每个面由一系列2维(长x宽)小查询的行所组成。这个立方体的第三维表示深度。如果我们在第一维放三个主要测量尺,那么我们可以在第一维形象化呈现多片数据被立方体切割的情况。例如,如果第一维(宽度)是时间(天),第二维(长度)是销售量(美元),而第三维是办公室位置(城市)。那么我们就定义了一个三维矩阵,我们可以简单地沿着这个三维矩阵的每个坐标轴得到一段时间内多个办公室位置的销售数字。这就是多维数据叫做立方体的原因。多个维的汇编叫做合计(aggregate)。
如果我们将维的交集(合计)看作是指向一个 DBMS 表的一行数据的一个指针,那么我们可以返回这个交集的相关的(无维)数据。在我们的例子中,这些域可能是销售人员、总销售项数、交付单位等。与一组维相关的无维数据也叫做事实(fact)。
现在想象在一条线上有几个Rubik 立方体的情况。如果我们将立方体从1月到12月标记起来,我们就向我们的矩阵添加了额外的一维(第四维)来保存我们的数据。如果我们串起标记为1999、2000、2002和2003中1月到12月的数据,那么我们就又添加了一维(第五维),新添加的这一维是“年”。这个过程可以继续到第“n”维。
这里一个重要的概念是事实即可以存储在统计级也可以存储在详细级。例如,如果想看1月份的销售数字,那么我们可以加起由“天”这一维表示的数字。这是 OLAP 的基本概念:能够钻入(位于给定一组维的)统计数据以得到其详细数据。
这些信息的物理存储要求一个专用的优化的体系结构来快速地返回定义在每一维的“事实”;这在传统的 RDBMS 中不好做,因为它们是按照数据位于二维平面进行优化的。OLAP 系统一般分类为以下四种体系结构:
· ROLAP(关系型OLAP)依靠对传统 RDBMS 进行扩展来提供 OLAP。
· MOLAP(多维 OLAP)使用一个 n 维立方体(n-cube)方法存储数据。这通常要求一系列预先计算好的立方体或“超立方体”结构。
· HOLAP(混合 OLAP)是 MOLAP 和 ROLAP 结构的结合物。
· DOLAP(桌面型 OLAP),DOLAP 尝试通过桌面计算机上的使用客户机/服务器关系与后台存储库进行通信的应用程序表现这些结构。
BI Portal 供应商提供了第五种实现,它通过一个 Web 前台提供 OLAP 能力。
OLAP 供应商包括主要的 RDBMS 供应商,如 Oracle、IBM 和微软,以及这方面的专业供应商,比如Hyperion、MicroStrategy、Crystal Decisions 和Cognos。
更多有关 OLAP 的信息,请阅读 OLAP 报告。
决策支持系统(DSS,decision support system)或商业智能(BI,business intelligence)应用程序的一个主要目标能够快速地访问核心或基本企业商业信息,比如销售、库存、采购、制造等信息。这些数据通常只在统计级需要;而有些时候,决策制定者需要能够钻入数据以获得详细级信息。
这个方面的一个例子是访问特定的一家销售公司中一位销售人员在指定地区的一个地区销售办事处的总销售量。这个甚至可以详细到更细级别的“剥洋葱”的能力是多维数据存储的主要用途。被设计用来优化多维数据的管理、执行和分析的应用程序,就是所谓的联机分析处理(OLAP,online analytical processing)系统。
虽然这在 IT 界并不是一个新概念,但是人们对多维数据分析的能力、体系结构、甚至是术语的理解与实际情况有很大偏差。从更广的范围来讲,这是由于 OLAP 供应商之间的恶性竞争引起的。矛盾或夸大的宣传、快速开发系统的改进、供应商合并,已经导致目前就谁具有最好的产品或最新的思想上面出现了一个两难局面。对于初进入这一领域的 IT 从业人员来说,这个困惑通常导致糟糕或被误导的决策。
描述多维数据的最好方式是考虑Rubik 立方体。该立方体的每个面由一系列2维(长x宽)小查询的行所组成。这个立方体的第三维表示深度。如果我们在第一维放三个主要测量尺,那么我们可以在第一维形象化呈现多片数据被立方体切割的情况。例如,如果第一维(宽度)是时间(天),第二维(长度)是销售量(美元),而第三维是办公室位置(城市)。那么我们就定义了一个三维矩阵,我们可以简单地沿着这个三维矩阵的每个坐标轴得到一段时间内多个办公室位置的销售数字。这就是多维数据叫做立方体的原因。多个维的汇编叫做合计(aggregate)。
如果我们将维的交集(合计)看作是指向一个 DBMS 表的一行数据的一个指针,那么我们可以返回这个交集的相关的(无维)数据。在我们的例子中,这些域可能是销售人员、总销售项数、交付单位等。与一组维相关的无维数据也叫做事实(fact)。
现在想象在一条线上有几个Rubik 立方体的情况。如果我们将立方体从1月到12月标记起来,我们就向我们的矩阵添加了额外的一维(第四维)来保存我们的数据。如果我们串起标记为1999、2000、2002和2003中1月到12月的数据,那么我们就又添加了一维(第五维),新添加的这一维是“年”。这个过程可以继续到第“n”维。
这里一个重要的概念是事实即可以存储在统计级也可以存储在详细级。例如,如果想看1月份的销售数字,那么我们可以加起由“天”这一维表示的数字。这是 OLAP 的基本概念:能够钻入(位于给定一组维的)统计数据以得到其详细数据。
这些信息的物理存储要求一个专用的优化的体系结构来快速地返回定义在每一维的“事实”;这在传统的 RDBMS 中不好做,因为它们是按照数据位于二维平面进行优化的。OLAP 系统一般分类为以下四种体系结构:
· ROLAP(关系型OLAP)依靠对传统 RDBMS 进行扩展来提供 OLAP。
· MOLAP(多维 OLAP)使用一个 n 维立方体(n-cube)方法存储数据。这通常要求一系列预先计算好的立方体或“超立方体”结构。
· HOLAP(混合 OLAP)是 MOLAP 和 ROLAP 结构的结合物。
· DOLAP(桌面型 OLAP),DOLAP 尝试通过桌面计算机上的使用客户机/服务器关系与后台存储库进行通信的应用程序表现这些结构。
BI Portal 供应商提供了第五种实现,它通过一个 Web 前台提供 OLAP 能力。
OLAP 供应商包括主要的 RDBMS 供应商,如 Oracle、IBM 和微软,以及这方面的专业供应商,比如Hyperion、MicroStrategy、Crystal Decisions 和Cognos。
更多有关 OLAP 的信息,请阅读 OLAP 报告。