数据流管理系统是数据处理领域的一个新的重要分支,其重要性不亚于数据库管理系统,是未来三十年数据处理领域的重要产品,其代表产品复杂事件处理技术应用在多个行业,例如证券行业的算法交易、金融实时风险控制、电信行业的主动营销等。《数据流管理系统设计与应用:SAP ESP项目实战指南》通过具体的电信行业应用项目过程介绍,指导用户快速实现基于SAP ESP的应用。
《数据流管理系统设计与应用:SAP ESP项目实战指南》首先介绍数据流管理系统相关知识,然后就SAP ESP的产品基础知识、架构、开发语言、周边环境进行相关介绍,从需求分析、项目管理、开发设计等方面介绍如何快速实现应用。
一提到SAP这个名字,大家首先想到的是ERP和CRM,想到的是企业级应用软件、企业管理解决方案等。是的,SAP一直基于领先的技术、各行各业丰富的实践经验以及优质的服务,帮助各行业不同规模的企业实现卓越的运营和管理。从企业后台到公司决策层、从工厂仓库到商铺店面、从桌面设备到移动终端——SAP助力用户和企业高效协作,获取商业洞察力,并从竞争中脱颖而出。SAP的软件和服务能够帮助客户实现盈利性的运营,不断提升应变能力,实现可持续的增长。
自从1972年成立以来,SAP一直专注于企业应用和管理,有了自己独特的最佳实践和服务理念。但在最近的几年中,IT技术不断发展,也促成企业应用需要更加开放,更具有多样性,更加适合当今最新的IT技术,例如大数据、云计算和实时分析等。从2007年开始,SAP并购了一系列业界领先的公司,容纳更广阔的IT技术于企业应用之中,并加强在IT基础架构、数据分析、企业移动化等诸多领域。这就好比一棵笔直生长的大树,它一直在蹿个儿,换句话说,原来只做企业应用,而现在需要枝繁叶茂,需要在数据分析、企业移动化方面大展宏图。
从2012年开始,SAP把创新分为了五大市场,分别是企业应用、商务分析、企业移动化、数据管理与技术平台和云计算。在这五大市场中,企业应用是SAP一贯坚持的方向,而其他四个方面则是适应当今IT技术的发展而发展起来的。例如:自从2010年SAP收购Sybase公司以后,SAP采用Sybase移动化解决方案,使得移动化应用无处不在,我们可以在恰当的时间、适当的地点,通过移动应用随时随地发送和接收信息,完成工作上的要求。通过提供移动销售、移动工作流等系统级移动应用,方便地拓展了企业ERP和CRM的使用,延伸了企业应用的范围,提高了工作效率和水平。再譬如,随着SuccessFactors和Ariba加入SAP大家庭,以云计算为核心的企业应用不断涌现,企业可以以全新的方式来运营,而不必遵循传统的管理方式。SAP完全可以通过托管、租赁等不同的方式,把优质和创新的应用交付给不同规模的企业,尤其是成长型企业,为其部署在云端的解决方案,为广大成长型企业用户带来适合自己需求的最佳实践。
2007年SAP融入BusinessObject公司,使得其在商务智能、信息管理、企业绩效以及治理、风险管理与合规等方面有了自己完整的解决方案。采用SAP商务分析系列解决方案,企业可获得更为广泛的洞察力,可以优化决策流程,改善风险管理等,同时让企业把对业务的洞察力转化为策略,再转化为运营决策。另外,SAP商务分析解决方案既能支持传统ERP系统中的数据分析,也能支持大数据的智慧分析。
在SAP这棵大树上,有一个数据管理方面的重要分支,那就是流式数据管理。说到流式数据管理,就不得不提CEP(Complex Event Processing)复杂事件处理。在CEP的领域,国外已经有了很多研究成果和相当成熟的产品,而在中国才刚刚起步。流式数据处理是CEP的一个核心技术,流计算来自一个信念:数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理。那么什么是复杂事件呢?复杂事件是一种事件,通常多个简单事件发生时预示着这种事件的发生。一个人发球,一个人接球,另一个人扣球,每个都是彼此孤立的事件,在一起组成了排球比赛这个复杂事件。
在复杂事件处理中,数据是不断变化的,而其“操作”是“静态”的。这里说的“操作”是用户预定义或订阅的规则,根据预定义或订阅的规则来发现可能原本不被注意的模式和趋势(即复杂事件),从而使用户有能力建模、确认、预计及迅速响应看似无关的事件所带来的机遇和威胁。换句话说,复杂事件处理具备了分析高速数据流并鉴别重要事件的能力,而这些重要事件通常是按照一定顺序或在特定时间窗口内发生在多个数据点的组合,虽然对这些事件的鉴别过程是复杂的,但结果却是无价的。复杂事件处理能够帮助企业及时全面地洞察市场变化,降低风险和提高决策效率。
我们需要一个复杂事件处理(CEP)平台提供专业开发应用的功能,它使得企业能够以超过每秒100万条消息的处理速度分析数据流,其延迟时间为毫秒级或更少,从而提供一个快速应用开发和实施的平台。就如同其他平台一样,一个CEP平台也能够加快开发,降低成本,消除对专业开发技巧的依赖,可以说,CEP平台使得我们摆脱既不能自己开发又无处购买的二难境地。
SAP ESP就是一个CEP的开发和运行平台,基于这个平台能够创建和运行自己的复杂事件处理应用程序,以便于从实时的流数据中获得连续的智能分析结果。早在2008年3月,Sybase基于Coral8内核发布了Sybase CEP产品,但Coral8在2008年5月被Aleri公司收购。异军突起的Aleri在2009年,被Forrester列为CEP领域杰出的领军企业,同时,Aleri还是首家获准作为安全技术评估中心基准的CEP厂商。随后在2010年2月,Sybase收购了Aleri,成功跻身成为CEP领头羊并强化实时分析平台。在2011年9月,也就是SAP收购Sybase之后,SAP发布了基于“Aleri架构升级+ CCL(Coral8)描述模型”的SAP ESP产品(其过渡产品曾经命名为SAP Sybase ESP)。
在实时分析能力上,SAP Sybase ESP解决方案在高速度、高容量的环境下极具价值。原因就是SAP ESP使用与传统商务智能系统完全不同的方法来进行数据分析。传统的方法是——捕获数据,将其结构化为一种固定的格式,将数据存储在基于磁盘的数据仓库中,然后定期在这些数据之上运行报表,进行数据分析。SAP ESP与之不同的是它在数据到达时通过规则检查数据,所有的操作都不落地,因为一旦落地就失去时效性。SAP ESP鉴别重要事件的能力几乎是实时的,并能从最新的数据中抽取出商务智能,形成多种用途。
为了满足企业对能支持实时分析、高速交易的应用程序的需求,SAP ESP提供了强大的复杂事件处理解决方案。它能够从多个数据源中吸收新的数据,并在数据之间创建关系从而能鉴别出代表机会和问题的模式。在事件存储之前,能实时持续分析多个事件流。它通过使用大量原始而重要的数据流,将跨多个流的事件关联起来,从而鉴别出新的关联业务条件,并在几毫秒(或更短)的时间内对这些事件做出响应。正因为具备了访问流式数据、实时数据和历史数据的能力,SAP ESP产品能迅速地让智能决策生效。另外,SAP ESP同样可用来生成简洁、信息丰富的数据流,并将它们分发至下游的系统、应用程序和历史库中。
总之,希望大家在读完本书后,能够对CEP领域和SAP ESP解决方案有一个清晰的认识,结合自己的工作和生活,灵活运用这些CEP方法和技术,为企业的实时分析、实时决策以及业务运营带来应用的新理念、新方式。
本书由SAP(北京)软件系统有限公司罗永强带领中国移动(深圳)有限公司付峰、SAP(北京)软件系统有限公司马泽炯共同编写完成。中国移动(深圳)有限公司敖锦蓉也参与了编写工作,在此表示感谢。
宋一平
SAP 中国数据管理技术首席架构师
2014年4月
罗永强 SAP资深大数据及商业智能架构师,近二十年的信息化系统建设经验,曾任某国有大型商业银行分行级数据中心主任,国内最早期数据仓库建设者。参与了电信、证券、银行、政府、零售、制造等多个行业的数据仓库、数据集市、算法交易等系统建设,致力于用管理的视角看待大数据及商务智能系统。 付峰 中国移动(深圳)有限公司技术专家,近十年中国移动业务支撑网工作经验,主要从事业务支撑网BOSS和经营分析系统方面的测评规划、方案设计等工作,多次参与集团在经营分析系统方面的规划、规范编写、方案设计和培训等工作,拥有扎实的业务知识和技术知识。 马泽炯 SAP资深系统顾问。近十五年的信息化系统建设经验,专注于金融、电信、政府等行业的数据管理与分析类解决方案,在主机、存储、操作系统、数据库、商务智能等方面具有丰富的项目和解决方案经验。近年来从事SAP事件流处理器的推广与应用工作。
第一章 数据流管理系统
第一节 数据库管理系统
第二节 数据处理新问题
第三节 数据流管理系统
第四节 SAP事件流处理器
第五节 SAP实时数据平台
第二章 SAP事件流处理器安装
第一节 规划安装
第二节 安装场景
第三章 SAP事件流处理器快速入门
第一节 事件流处理器工作台
第二节 可视化编辑
第三节 CCL编辑器
第四节 加载项目
第五节 运行测试项目
第六节 工作环境配置
第四章 SPLASH程序开发
第一节 SPLASH程序语言
第二节 SPLASH语句
第三节 SPLASH数据结构
第五章 CCL程序设计
第一节 CCL项目基础
第二节 CCL语法
第三节 CCL查询语句
第四节 高级CCL程序设计
第五节 声明
第六节 从句
第七节 查询
第八节 函数
第六章 SAP事件流处理器实用程序
第一节 概述
第二节 事件流处理器服务器实用程序
第三节 命令和控制实用程序
第四节 发布和订阅实用程序
第五节 开发实用程序
第七章 高级程序设计
第一节 实体生命周期和访问模式
第二节 发布
第三节 订阅
第四节 故障恢复处理
第五节 应用程序接口(API)参考
第八章 SAP事件流处理器安全配置
第一节 身份认证
第二节 访问控制
第三节 SSL安全链接
第四节 密钥及密钥库
第五节 数据存储安全
第六节 其他安全性相关配置
第九章 SAP事件流处理器集群
第一节 集群架构
第二节 多项目支持
第三节 高可用性
第四节 项目部署选项
第五节 集群持久化(Persistence)和缓存(Caching)
第六节 集中安全
第七节 集群启动
第八节 集群配置
第九节 项目配置文件示例
第十章 SAP事件流处理器应用开发
第一节 数据流计算框架
第二节 应用开发流程
第三节 开发调试环境