四层面扩展PB级数据仓库
随着PB级大小的数据库即将来临,企业的CIO也许会问自己:“要如何应用1024TB或者1PB 的数据?PB级的数据仓库真的具有投资的价值吗?”数据仓库的成功设计与部署关键在于其可扩展性,可扩展性是企业运用详细且实时的商业智能制定有效决策并创造价值的关键指标。
今天,企业竞争优势并不在于价格或产品的差异,而在于企业必须比竞争对手掌握更详细的客户与潜在客户的信息。要让潜在客户变成忠实顾客,关键在于必须在适当的时间,向客户提供适当的产品、服务与信息。要做到这点,企业必须先收集足够且详细的客户信息,找出重要的模式,并且有适当的系统将信息统一存储,以供日后实时运用。
数据仓库让企业有能力收集大量且详细的资料(目前已经是数百个TB,PB也指日可待),并让企业能在几秒内就完成部署。要能快速搜寻并部署如此大量的数据,系统的可扩展性是重要的条件。
可扩展性是在硬件配置上增加额外的处理能力,并在性能上呈线性的提升。换个角度来看,就是在不影响性能的前提下,提升硬件存储与处理大量数据的能力(或是处理日渐复杂的查询及日渐增加的多笔并发查询)。不良的设计或产品部署只会导致相反的结果,造成性能降低的速度快于数据量增加速度。
像SBC电信等公司的数据仓库系统运用了数百个顶级的英特尔处理器,数百个GB容量的可寻址内存以及数百个TB磁盘空间,来支持一个单一的数据库。像这样系统的设计与部署应该包含哪些成功因素呢?真正的可扩展性应该包含以下四个层面:
第一层面:处理大量的数据
企业每日运营会产生大量的数据,而这些数据可用来支持重要的商业应用与决策制定。除此之外,数据库每MB的成本也不断降低。然而,问题依然存在:这么多的数据真的能增加企业价值,证明数据存储真的值得投资吗?
答案是肯定的!但前提是企业必须能有效地应用所存储的详细数据,从中找到策略与战术商务查询的答案。现在假设有家跨国银行要评定特定重要客户的终生价值,如果这家银行的数据库仍然是用串行的数据处理方式,执行这样的查询会拖垮整个系统。相反的,如果使用分治法(divide and conquer approach)来处理大量数据,通过并行技术的部署以及非共享架构,则能够快速且更可靠地找到重要商务问题的答案。这就是可量化商业价值的第一步。
第二层面 :多笔并发查询的挑战
大企业需要同时处理数千笔来自企业内部不同地点的查询,查询的范围包含长期与短期的需求。以前面的跨国银行为例,它可能需要在无数笔信用卡交易中侦测出欺诈行为,银行经理也许需要每月销售数字的分析。像这样的查询不仅限于一处,而可能来自于不同区域数百个部门,因此可清楚看出系统需要有处理多笔并发查询的能力。要能同时处理多笔查询,数据库首先必须具有精密的资源管理功能,在执行查询的时候,并行的数据库必须能响应不同的要求,并且扫描多个表格。
第三层面:维持复杂数据之间的商业关系
如何处理复杂度日渐提高的数据,是大型数据库将查询最佳化的另一项挑战。举例来说,过去要建立一个简单的客户视图,可能牵涉到存储于分散在数据集市中的三或四个相关联的数据点,现在则可能涉及到存储于一个企业级数据仓库中的三、四十个相关的数据点。如果这个数据仓库只能产生庞大的表格,容纳数十亿笔分类排列的交易数据,全世界计算机的数据处理能力也无法建立一个有效的客户视图。即使数据仓库能将数据分成不同的表格,却无法保存表格数据之间的商业关系,整个数据分析的功能都要打折扣,进而影响系统的商业价值。因此,在数据仓库提升容量的同时,必须要对分析型查询创造具有超高效率的“档案系统”,这个系统应该要能包含多个表格,且保存各主题区域内数据的商业关系,能轻松做到数据的相互关联和扩充。
第四层面:支持复杂的数据查询与数据挖掘
最后,新一代的超级数据仓库所要面对的不仅是上个月鞋子销售量有多少的查询,而是更加复杂的数据查询与数据挖掘,例如客户的终生价值,像这个问题就牵涉了许多重要层面。数据仓库必须要能将各层面加以分析,然后决定一个高效收集所需信息的途径。未来真正能提供PB价值的数据仓库应该具备一个优化器,以处理复杂的数据查询与数据挖掘而不需要人力介入。