ANEWPLATFORMFORANEWERAAdditionalLine18PointVerdana2©Copyright2013Pivotal.Allrightsreserved.2©Copyright2013Pivotal.Allrightsreserved.Pivotal内存计算平台的应用和解决方案--GemFire/SQLFire冯天创135602008883©Copyright2013Pivotal.Allrightsreserved.LoadBalancerWebandAppServersWeb层中间件层数据库层OSAppOSAppGemFire是什么?OSAppOSAppOSAppOSAppOSAppOSApp内存计算层DataGridinMemory4©Copyright2013Pivotal.Allrightsreserved.VMwareGemFire是什么?把数据移动中间层–更靠近需要它的地方伸缩性–易于适应更多的应用用户高性能–所以计算操作都在内存,极大提高性能数据可靠性–多个数据备份–数据自动同步–数据可以写入磁盘(数据库)直写或是后写跨地域分布–通过WAN连接5©Copyright2013Pivotal.Allrightsreserved.Pivotal内存计算解决方案GemFireEnterprise存储对象(Java、C++、C#、.NET)或非结构化数据允许来自多种语言的并发客户端同时访问GemFireSQLFire使用SQL界面存储关系数据支持JDBC、ODBC、Java和.NET界面关键值随OQL查询存储使用现有的关系工具订单订单行项目数量折扣产品SKU单价2级缓存用于HibernateHTTP会话状态管理6©Copyright2013Pivotal.Allrightsreserved.采用GemFire的场景和切入点解决应用性能问题OLAP数据处理不够快报表生成ETLCEPOLTP业务处理不够快网上银行录入系统CRM网上业务综合支付平台数据总线花旗银行双活数据中心(全局数据分布)上海教委应用场景PaaS平台快应用快数据数据总线大数据Installbase需要快数据解决方案切入点7©Copyright2013Pivotal.Allrightsreserved.市场表现在面向金融、政府、电信及其他行业在全球企业部署方面具有8年经验证的丰富经验服务于全球1000多家客户在华尔街部署有53,000多个CPU在极限事务处理(XTP)领域遥遥领先于1982年开创分布式数据管理模式在大中国区金融行业、政府公共事业、交通运输、电信行业有众多成功应用案例。8©Copyright2013Pivotal.Allrightsreserved.应用之一--ETL加速/报表加速ETL的数据清洗、处理、加载等原来基于Oracle/DB2的数据库存储过程,速度比较慢,有时间窗口,随着数据增加,处理时间越来越接近或是超出时间窗口,通过GemFire/SQLFire把数据加载到内存中处理,速度提高50-100倍。报表、统计等数据处理加速,BOCOM做过测试某城商银行真正做ETL加速9©Copyright2013Pivotal.Allrightsreserved.应用之二---网上银行/电商应用1、网上银行是典型的XTP计算,并发访问用户量大,数据需要缓存2、GemFire可以用于网上银行应用服务器的session数据缓存3、GemFire也可以用于网上银行业务数据的缓存GemFireOSJavaAPPJVMA/SOSJavaAPPJVMA/SOSJavaAPPJVMA/SOSJavaAPPJVMA/SOSJavaAPPJVMA/SOSJavaAPPJVMA/S10©Copyright2013Pivotal.Allrightsreserved.应用之三---数据实时处理(支付清算)实际使用案例:大幅提高处理能力,缩短处理时间在相同的应用中,SQLFire实现了:取代原来基于Oracle数据库的实现,原来的处理太慢,严重影响支付处理速度Payment包括个人业务和公司业务等,有银行内内支付,也有跨行支持。。TomcatSpring应用访问SQLFire数据缓存,应用处理支付请求在SQLFire中处理数据,实现支付的事务,匹配支付同时更新支付信息。并且实现支付的全球同步,实现了支付的高可用性,包括各种故障恢复,如网络故障、电力故障、存储故障等客户要求的支付性能是每秒1200笔/秒交易,每小时400万笔,实际性能测试达到5000笔/秒,1800万笔每小时,原来基于Oracle数据库无法达到1000笔/秒的交易11©Copyright2013Pivotal.Allrightsreserved.应用之四---CRM客户数据整合■随着银行向以客户为中心的战略转型和流程银行改造的深入,各业务部门都迫切要求做到对客户的全方位了解,以便于银行能够有针对性的进行客户服务与营销服务的开展。实现这一目标,即时准确的客户数据是必不可少的,但是在全行IT系统的架构中各个业务系统都保留其各自使用的客户信息,存在客户信息的分散、重复、不一致或冲突的情况,无法满足各个业务部门统一客户视图的要求,需要对客户数据进行整合。■客户数据整合(CDI),通过建立一个单一的系统进行所有客户数据的集中管理,从而保证客户数据在整个IT应用体系中的唯一性和准确性。从而实现数据的即时性、完整性、一致性和真实性,为营业机构和管理部门提供客户的完整统一的视图,提升银行的整体服务和管理水平。■通过SQLFire实现数据的即时性,而且通过SQLFire可以对每个数据操作进行完整性、一致性检查,确保数据质量。12©Copyright2013Pivotal.Allrightsreserved.应用之五---物联网监管(物流监控)■目前的物流公司均只提供快递单的文字查询,而且只有中转环节的信息查询,没有地图模式的查询。而本解决方案支持地图模式的查询,而且支持快递物品的实时位置查询。物流公司采用本解决方案,可以提高客户服务的满意度。在美国物流公司已经提供了类似的应用功能。■为什么之前的国内物流公司不提供快递物品的实时位置查询并支持地图模式,主要是因为物流车辆GPS信息采集设备和成本问题,第二是服务器端的性能问题。而在本解决方案中,彻底解决了这两个问题。低成本的解决方案,在服务器端全部是X86服务器,。在货车端只需要安卓手机、苹果手机或是其他支持Java和GPS的手机即可。支持海量被监控物品如车辆,可以同时监控数万辆车的信息。在GemFire内存中可以保存数十T的车辆位置数据或是其他数据。实时刷新数据,可以实时采集数据,并且实时展示,延迟在1秒以内。因为所有信息和处理均在内存的缓存中实现,速度非常快。支持车辆在地图上的实时展示支持车辆轨迹和时间偏离的实时中央告警,预先给每个车辆设置路径轨迹和时间,如果车辆实际行驶轨迹和时间和预订不同,则在中心端实时告警。13©Copyright2013Pivotal.Allrightsreserved.应用之六---公安人像对比系统采用GemFire1、通过专用的采集设备或者是二代身份证中的人像信息存储在数据库中;2、人像信息抽取特征值,特征值一方面保持在OracleDB中,另外,全部加载到GemFire数据库中。3、由于人像比对是全库查询,每一个查询都需要全库查询一遍,IO是个瓶径,即使是小机或着OracleExaDATA都不是从根本上解决这个问题的方法,而且除了人像比对之外,未来还会有指纹比对,数据量是人像的十倍,也是全库查询;4、Gemfire部署在应用服务器在之后,数据库之前,在首次应用时把数据从数据库加载到Gemfire中,解决IO问题,既可以横向扩展,实现计算能力的弹性,又保证了高可用性;目前只部署于主数据中心,未来将考虑异地的应用双活;5、人像比对的逻辑之前是C++逻辑,换用为Java逻辑,人像对比逻辑在GemFire集群中分布式计算,在每个GemFire集群中分布计算,然后汇总。6、GemFire内存除了存放人像特征值,还存放一些基础信息,比如身份证基础信息。7、在GemFire中运行多种对比算法,根据精度要求,可以粗对比,返回结果集比较大,也可以精确对比,返回结果集比较小,但是消耗的时间比较长,但是目前全表比对根据精确度要求不同,在毫秒到数分钟之间就可以返回结果。14©Copyright2013Pivotal.Allrightsreserved.应用之七---交通物联网交通信息实时展示采用GemFire■交通信息缓存在GemFire中,实时更新。■支持海量并非访问,测试超过1000并非访问■和地图数据一起缓存,支持快速查询和地图拖动15©Copyright2013Pivotal.Allrightsreserved.应用之八---交警卡口采用SQLFire和GP,实现车辆监控数据采集数据从各个区域卡口系统采集到中心平台后通过接口直接写入SQLFire服务器。目前SQLFire支持多种数据写入方式,支持JDBC的数据写入,支持Java,WebService,RestAPI等方式写入。数据写入SQLFire后,可以自动同步到GreenPlum的数据节点,可以即时写入,也可以批量写入。数据缓存数据从各个区域卡口系统采集到中心平台后通过接口直接写入SQLFire服务器。就可以对这部分数据进行缓存。第一次使用时,可以批量从GreenPlum加载一些数据.长期保存最常用的数据,如号牌信息数据,可以长期保持,这样查询相应的号牌信息速度快。不常用数据自动换出数据快速处理、CEP数据在SQLFire缓存中,因为SQLFire是个内存计算平台,可以对数据进行各种操作。比如最常见的数据比对,快速数据查询等。在SQLFire中,可以对数据进行CEP(复杂事件处理),也即复杂的事件关联、聚合等处理。比如可以套牌车事件关联,每有一个车牌照信息进入GemFire,就可以触发一个套牌关联模式,查看最近一次此车牌在系统出现的时间和地点,对比时间长度和地点距离长度,如果超过平均时速,那套牌的可能性就很大。还可以做各种实时模式关联。16©Copyright2013Pivotal.Allrightsreserved.实际使用案例:花旗银行(Citibank)使用GemFire部署的数据总线GemFire的35,000个节点多数位于其计算网格中应用之九---数据总线17©Copyright2013Pivotal.Allrightsreserved.应用之十---交易系统的撮合GemFire由于是内存计算,有非常快的访问、处理速度,可以在纳秒(千分之一毫秒)级处理,因为能够满足交易系统的快速需求。GemFire由于有非常好的扩展性,可以在成千上万台服务器上分布运行,可以满足交易系统的海量并发要求。香港港交所正在测试GemFire18©Copyright2013Pivotal.Allrightsreserved.高速OLTP--低延迟全局交易系统■低延迟交易插入■永久归档每笔交易■及时了解快速变化的市场数据■基于事件快速计算头寸■全球更新头寸分布■一致的全球头寸视图■传递名册■区域收盘■高可用性■灾难恢复■区域自主性该项目实现了:实际使用案例:全球外汇电子交易系统19©Copyright2013Pivotal.Allrightsreserved.实际使用案例:事件驱动型风险和定价传统的批处理处理模式太慢,导致容易丧失商业机会在批处理模式下运行定价和风险计算需要编写特殊的应用程序来创建“缓冲区”,以确保不违反监管规定。实时检测事件,事件驱动的风险管理。更易于集成新产品并控制工作流,从而将业务风险降至最低并满足所有法规要求新的风险管理逻辑可以随时增加8个CPU可在3分钟内对6,000个复杂的外来工具进行重新定价不需要再占用巨额运营资本来“运作银行”采用GemFire:应用之十一---实时风险管控20©Cop