2018年10月Apache Kylin meetup@杭州站,店+大数据技术总监分享了从传统数据库,到使用Apache Kylin,以及升级到 Kyligence Enterprise 的历程。

注脚

1.店+ 的 Apache Kylin 应用之旅 白英-刘涛 日期 2018-10 https://www.dianjia.io/

2.一 公司、团队简介 目录 CONTENTS 二 数据发展史

3. 一、公司、团队简介 公司概况 随着互联网时代的来临,越来越多的传 统零售服装企业开始思考经营管理的转型和 升级,店+将互联网软硬件技术与先进的零 售管理经验相结合,为企业提供一整套新零 售解决方案。 团队100+ 客户100+ 数据团队2 资深数据0 公司照片 https://www.dianjia.io/

4. 二、数据发展史 2.1 历程 小公司无法持续投入 开发,遇到问题解决慢, 未来 转为商业版 Kylin ETL 结果明细数据汇总 查询场景多,性能 2018.09 持续优化升级 跟不上,考虑预计算 开始利用 Hadoop 生态 HBase 存储结果、 2017.12 商业版 Kylin Phoenix 查询 MySQL 实时查询 2017.04 开源版 Kylin 2015.05 Hadoop应用 数据部门组建 https://www.dianjia.io/

5. 二、数据发展史 2.2 例子 select a.brand_id ,a.brand_spu_id , Cube 数:27 COALESCE(SUM(total_sale_money_kpi),0) as total_sale_money_kpi , 数据量:1TB COALESCE(SUM(total_sale_count_kpi),0) as total_sale_count_kpi , 最大 Cube:120G COALESCE(SUM(total_sale_money_suggest_kpi),0) as total_sale_money_suggest_kpi , COALESCE(SUM(short_sale_count),0) as short_sale_count , 最大 Cube 源数据行数:20亿 COALESCE(SUM(total_sale_money_refund),0) as total_sale_money_refund , COALESCE(SUM(total_sale_money),0) as total_sale_money , 例子:查询品牌某款商品 COALESCE(SUM(total_sale_count_kpi_offline),0) as total_sale_count_kpi_offline , COALESCE(SUM(total_sale_count),0) as total_sale_count , 一段时间内有销售或者库存 COALESCE(SUM(product_entry_stock_count),0) as product_entry_stock_count , 不为0的各种指标 COALESCE(SUM(distribution_entry_stock_count),0) as distribution_entry_stock_count , (CASE WHEN SUM(total_sale_money_suggest_kpi) = 0 THEN 0 ELSE (sum(total_sale_money_kpi)*1.0/SUM(total_sale_money_suggest_kpi)) END) 平均响应时长 as discount_rate MySQL -- from view_dm_storage_sku_sale_stock_dm_v0 a inner join dim_date d on a.start_day=d.date_id Phoenix 30-50s WHERE 1=1 and a.brand_id = 10170 and a.start_day >= '2018-10-20' and a.start_day <= '2018-10-21' Kylin 1s group by a.brand_id ,a.brand_spu_id having ( sum(total_sale_count_kpi) !=0 or sum(total_sale_money_kpi) !=0 or Kyligence 1s sum(TERMINAL_STOCK_COUNT)!=0 ) Enterprise order by total_sale_money_kpi DESC ,a.brand_spu_id desc LIMIT 10 offset 110 https://www.dianjia.io/

6. 二、数据发展史 2.3 数据架构 接口 报表展示 数据分析 数据应用 Kylin HIVE HBASE Mysql Redis PolarDB 应用数据存储 数 据 离线/实时计算 离线数据 流 实时计算(storm) DataWorks 程 业务数据存储 RDS PolarDB OSS MQ 会员 支付 商品 订单 库存 其它 业务数据采集 https://www.dianjia.io/

7. 二、数据发展史 2.4 Phoenix 01 02 DWD 自建 Hadoop 集群,搭建 HBase,各 搭建 CDH 集群,统一管理 Hadoop 生 种配置混乱,无法统一管理,缺乏监 态,配置、监控都方便了很多 控 常出问题,并发插入删除的问题、数据分布热点的问题,查询时 计算较多,性能越来越差 https://www.dianjia.io/

8. 二、数据发展史 2.5 开源版本 Kylin 1 团队转型 线程无法释放,查询积压,最终无法 2 提供服务(应用层缓存,过一段时间 重启,最终没有根本解决) 缺乏监控(是否有 Cube 建的不合理 3 ?哪些查询慢需要优化?) https://www.dianjia.io/

9. 二、数据发展史 2.6 商业版 : Kyligence Enterprise 系统建议 抽取对于 Cube 的合理性给出建议 故障解决 data对于出现的任何问题可以找人迅速响应解决 业务问题层 对于慢查询可以找人工分析 自身发展 更专注于业务的发展 https://www.dianjia.io/

10. 二、数据发展史 2.7 未来 实时场景 历史数据的变更 引入人才 越来越多的准实时场景的需 对于历史的错误数据的变更 人才是最大的资本,我们尚 求,如何更好的在业务场景 如何做到更少的人为介入, 处在远行的出发阶段,希望 中实现实时与历史的结合 更高效的变更历史数据 有更多有能力又志同道合的 同学加入 https://www.dianjia.io/

11.让零售更智能 服装零售用店+ https://www.dianjia.io/

user picture
  • Kyligence
  • Kyligence (上海跬智信息技术有限公司)由首个来自中国的 Apache 软件基金会顶级开源项目 Apache Kylin 核心团队组建,是专注于大数据分析领域的数据科技公司,通过前沿数据技术的分析认知来加速用户关键商业决策是其使命。

相关Slides

  • 本PPT解释了作为支持交易型分布式数据库系统的TiDB核心产品架构及其主要组件,包括TiDB,TiKV,Placement Driver,TiSpark,TheFlash,Tool,TiDB-operator for k8s等,对其基本作用进行阐述,并对其中的核心组件TiKV重点分析,解释了基本数据组织方式,执行方式,数据管理,水平扩展和负载均衡,以及分布式一致性等基本问题。最好对其分析引擎TiSpark也进行了简要功能说明。

  • 介绍了ES的基本结构,功能和原理,重点分析了在实际生产环境中各种运维和监控的指标,以及各种调优经验和配置参数,还有运维自动化的方法论探讨,可以作为ES在实际生产环境中的最佳实践部署和运维监控案例,也可以帮助ES平台维护者理解并思考如何提供更好的ES服务及运维保障。

  • Adaptive Execution @ Spark + AI Summit Europe 2018 Video @ https://databricks.com/session/spark-sql-adaptive-execution-unleashes-the-power-of-cluster-in-large-scale-2

  • Apache Spark作为分布式内存计算引擎,内存使用的优化对于性能提升至关重要,Intel的Optane(傲腾)技术,让内存和SSD之间架设了个新的数据缓存/存储层,并通过PMDK等特殊的API绕过文件系统,系统调用,内存拷贝等一系列额外操作,让性能有极大的提升。Intel开源的OAP(Optimized Analytics Package)for Apache Spark项目,也是基于这个前体,构建即席查询引擎,以及在机器学习算法诸如KMeans算法上也获得了不错的性能回报。