1、鸿星尔克集团总部The Headquarters of Hongxing Erke GSAP系统大数据快速输出“信息结构”+“数据压缩”应用周清湘、韩占峰周清湘、韩占峰2019-01-312019-01-31Page2海量数据终端零售数据1亿/年表名数据量LIPS188,055,377MSEG589,961,021VBRP141,244,573BSEG675,083,578MARD88,121,876SAP IS-R零售行业解决方案2019年上线至今Page3多维查询 工厂 分公司 城市 店铺 款式 性别 单品 年度 季节 节庆 地点类别 店铺类型 是否自收银 是否新渠道组织产品时间营销品牌大
2、类小类Page4效率的困惑大数据多维度数据输出怎么办?1秒10秒1分钟,10分钟BI的适用范围:宏观、非实时业务用户要求:明细、实时Page5解决方案业务系统大数据输出信息结构:解决实时汇总问题簇数据库:解决高效读取问题M+N筛选算法:解决快速展现问题InfoStructureDataClusterM+NAlgorithm SAP为解决OLTP系统数据整合和实时展现的需要,特别在系统中植入了“信息结构”技术。实现SAP业务数据的实时存储和简单整合。依据事先确定的数据整合逻辑和数据汇集粒度。Page6信息结构-实现原理 创建步骤:保存业务数据时,同步按预设指标汇总至信息结构表。Page7信息结构
3、-运行逻辑表头行项目原始业务数据信息结构指标库 数据库优势:实时性好自定义指标粒度数据存储在业务系统注意:使用信息结构会降低业务数据保存时的性能,须适度使用 信息结构表数据量过大时,查询速度同样会变慢,将它转换为簇数据库存储,加速读取;关键字为逻辑条件,数据簇为逻辑数据,则:数据逻辑与物理存储保存一致;下图:簇数据库;右图:数据簇Page8簇数据库-实现原理 历史数据合并压缩存储,读取时批量取出Page9簇数据库-运行逻辑时间组织产品营销数据12345678信息结构数据期间组织12345678ABAP运行时环境时间组织产品营销数据123Page10M+N筛选算法-业务目标 下图为查询目标(示例
4、)使用簇技术后,提升了数据库读取速度,降低了数据库负荷,把数据处理压力全部放在应用程序。两次循环的时间复杂度:O(MN2)循环加二分法读取的时间复杂度:O(Nlog2N)+O(Mlog2N)Page11M+N筛选算法-算法设计 算法示意图两表分别排序的时间复杂度:O(Nlog2N)+O(Mlog2M)索引自增筛选的时间复杂度:O(M+N)注意:本算法依赖于ABAP标准排序的高性能,(标准排序时600万条数据仅需12秒)如使自行编写排序算法,需重新评估。Page12M+N筛选算法-流程图 M+N筛选-计算过程如下图:Page13应用效果数据现状:数据结构MSEGMARDLIPSBSEGVBRPAFS系统14,737,948287,3855,027,03511,111,2215,246,982ISR系统589,961,02188,121,876188,055,377675,083,578141,244,573输出效果:输出报表信息系统期间数据条目消耗时间“进销存”(ZK08)AFS1年420万11s“进销存”(ZK08)ISR1年3000万23s店铺“进销存”(ZK09)ISR0.5年1600万78s店铺销售明细输出(ZBW01)ISR1年2000万40s区域销售明细输出(ZBW11)ISR1年2000万38sPage14数据核对Page15实际举例