级别: 初级 Jack Baker, 客户支持专家, IBM John Rollins, 高级 IT 专家, IBM
2009 年 11 月 11 日 通过计分性能研究了解 IBM InfoSphere Balanced Warehouse 的功能。 来自 IBM Data Management Magazine 中文版。
谈到预测分析和商业智能 (BI) 时,拥有大信息仓库的组织通常面临这样一个选择:直接在数据库环境中创建和实现数据挖掘模型,还是在单独的分析环境中创建它们,比如数据挖掘工作台。
通过并行机制和降低总体软件许可成本来改善计分性能,在数据库环境中部署挖掘模型有时可以更快地产生业务成果。此外,通过将高成本数据挖掘软件限制于小开发环境,然后将数据挖掘模型迁移到大规模生产环境,可以在软件许可方面实现显著的节省。另一方面,一些组织需要在分析环境中开发和部署数据挖掘模型,投入大量资源并体验其挖掘模型和流程。
对于许多组织来说,最好的选择可能是允许在分析环境中开发数据挖掘模型,然后将其部署到针对高速、高容量计分流程优化过的数据库环境中。此方法的实现归功于 Predictive Model Markup Language (PMML),它定义了一种表达数据挖掘模型的格式。使用 PMML 创建的数据挖掘模型可以方便地导入到数据库,以便于数据库环境中的计分流程可以使用它们。
IBM InfoSphere Balanced Warehouse (IBW) 是一个出色平台,可以帮助组织部署外部创建的 PMML 数据挖掘模型,以便创建高速、高容量的 BI 和预测分析环境。为了演示 IBW 的功能,IBM 执行了一项计分性能研究,其目标如下:
- 展示 PMML 数据挖掘模型可以成功地在高速、高容量的
IBW 环境中实现计分。
- 评估跨广泛硬件配置和数据量的
IBW 环境中的计分伸缩性能。
- 开发配置 IBW 数据挖掘环境的最佳实践建议。
设置测试环境
研究分为四个步骤:
- 准备服务器环境。
- 通过获取 PMML 格式的 SAS Logistic 回归模型并将其导入到数据库中,在 IBW 中建立数据挖掘。
- 在数据库中建立 5 个数据表,每个表采用 4 种不同的分区模式。
- 使用 SQL 脚本对各分区模式的 5 个数据表应用数据挖掘模型,并报告执行时间。
图 1:用于测试的服务器环境,包括一个
InfoSphere Balanced Warehouse E7100 系统
服务器环境
IBW 环境是在由运行 IBM AIX 之上的 11 IBM System p6 570 服务器集群组成的 IBW E7100 上配置的(参见图 1)。E7100 集群包括一台管理员服务器和 10 台数据服务器。每台服务器包含 4 个处理器和 64 GB 内存。服务器将通过 Gigabit Ethernet 交换器建立连接。IBM System
Storage DS4800 和 DS4700 单元用于存储。
数据挖掘模型
我们使用 SAS Enterprise Miner 5 获得了一个 logistic 回归模型。此数据挖掘模型是以 PMML 格式从 SAS Enterprise Miner 中导入的,然后又被导入到 IBW 环境中的 DB2 表中,从而能够整合到 DB2 计分流程中。
数据创建和分区
用于研究的数据来自 IBM 客户所提供的一个非常大的数据库。提取的数据包括分别从 100 万条记录和 1000 万条记录中随机选择的样例。这两条样例用于构建供计分使用的 5 个表,它们分别包括 1000 万行、3000 万行、1 亿行和 3 亿行。
这 5 个表都采用了 4 种不同的分区模式进行创建,以演示 IBW 环境中的数据挖掘查询的 “向上扩展”(更多记录)和 “水平扩展”(更多分区)。这些分区模式分别包含 1 到 10 台不等的数据服务器。这 4 个模式分别采用以下配置设置:1 台数据服务器和 8 个分区,3 台数据服务和 24 个分区,5 台数据服务和 40 个分区,10 台数据服务和 80 个分区。
计分性能
我们对分区和行的各种组合进行了评估。在每次测试时,DB2 缓冲池都需要先进行预热,以便能确保记录时间的一致性和可比性。对于每次测试,每秒计分的记录数量并每秒每分区计分的记录数量在报告时将以基本的 100 万条记录和 8 个分区作为标准。参见表 1 了解计分执行时间和性能指标。图 2-4 展示了计分性能。在图 2 中,我们看到相对计分性能表示为相对基本标准的每秒每分区计分的记录数量(即每分区的相对计分率)在分区增加时仍然保持不变。对于 1000 万条记录 8 分区、3000 万条记录 8、24 和 40 分区的情况,性能将受到可用物理内存的限制。
表 1
研究此性能限制发现,这是由于缓冲池溢出造成的。在我们的测试中,源和目标表都在相同的表空间和缓冲池中。当记录数量足够多时,读取和写入操作将开始争用相同的缓冲池资源,因此会减缓总体计分速度。在图 3 中,相对计分时间性能(相对基准的每秒计分的记录数量)会随着分区数量的变化而成比例变化。对于 100 万条记录的情况,我们看到分区数量从 8 翻了 3 倍变成 24 之后,相对计分时间也减小了三倍(从 1 变为 0.3)。
在图 4 中,我们看到相对计分时间随记录数量的增长而呈线性增长。未符合线性性能规律的情况包括 8、24 和 40 分区的情况,这反映了可用物理内存的限制。
结果和结论
此项研究的结果表示在 IBW 环境中使用 PMML 数据挖掘模型的计分性能与数据量及硬件配置呈线性关系。此外,性能会受到可用物理内存的限制。特别是:
- 以分区为基准时,性能将保持不变的,而与数据量和配置大小无关(参见图 2)。
- 相对计分时间性能会随着分区数量的变化而呈比例变化(参见图 3)。性能随数据量的增长呈线性增长(参见图 4)。
图 2:计分性能:每分区计分率 vs. 分区数量(相对 100 万条记录 8 分区)
图 3:计分性能:计分时间 vs. 分区数量(相对 100 万条记录 8 分区)
图 4:计分性能:计分时间 vs. 记录数量
缓冲区溢出表示需要为各服务器添加额外内存,或者向集群添加更多服务器。在达到这个内存阀值之前,性能仍然保持线性增长关系。
IBW 的导入
PMML 数据挖掘模型的功能表示可以使用分析和 IBW 环境创建和使用数据挖掘模型,通过操作业务应用程序或自动流程实现高速、高容量的计分。使用此战略的组织可以利用它们在分析技术和工具中的已有投资,结合一个 IBW 环境来更好地支持决策定制流程。
最佳实践建议
从研究结果中可以得出 3 个配置 IBW 数据挖掘环境的最佳实践:
- 要消除日志开销,将计分结果的输出表设置为 Not Logged Initially。
- 要便于缓冲池调优和单独的磁盘活动,应该将源表和计分结果表放置在不同的表空间和不同的缓冲池中。
- 要计算特定数据挖掘模型的配置指标,可以使用图 5 所示公式。其中,模型的性能(每秒每分区处理的行数)将通过对数据随机字集计分来确定。
图 5:计算集群中的数据挖掘模型服务器的指标
参考资料 学习
获得产品和技术
讨论
作者简介  | |  | Jack Baker 是 IBM Advanced Warehousing 团队的基准测试技术总监。他帮助客户在他们的环境中演示 InfoSphere Balanced Warehouse,并帮助他们解决数据库性能方面的问题。 |
 | |  | ohn B. Rollins 博士是 IBM
Advanced Warehousing 团队的高级分析构架师,担任预测分析高级技术总监一职,为客户、软件销售和分析技术的集成提供支持。 |
对本文的评价
|