傻大方提要:【中国资讯报道网|在中移物联网PGW实时会话业务领域的应用( 二 )】性能方面 , 批量写入性能Clickhouse略优于其他系统 , 相同资源条件下明细查询性能ClickHouse和StarRocks比Impala+Kudu更快 , StarRocks有比较方便的物化视图(Rol...
按关键词阅读:
性能方面 , 批量写入性能Clickhouse略优于其他系统 , 相同资源条件下明细查询性能ClickHouse和StarRocks比Impala+Kudu更快 , StarRocks有比较方便的物化视图(Rollup)可以满足统计查询的需求 , 另外StarRocks在关联查询方面性能有比较明显的优势 。
综上所述 , 实时数仓方案 , 采用Kudu+StarRocks相结合 , 实现现有PGW实时会话业务 。 StarRocks作为主要技术组件 , Kudu辅助实现字段级别更新业务场景 。
3.现有技术框架
3.1、现有技术框架整体介绍
图片
为解决现有的业务痛点 , 同时平衡在实时数据处理技术实现上的难点 。 我们摒弃了部分技术组件 , 采用新的技术组件搭建整个实时数仓用于满足PGW实时会话业务 。 其中StarRocks可以满足大多场景的需求 。
PGW会话业务中流式Join问题 , 一部分我们通过在StarRocks中星型建模的方案的解决 , 另一部分我们借助关系型内存数据库VoltDB+Google Guava Cache , 流式组件处理过程中代码实现 。
存量数据的排序、实时分析问题 。 我们借助StarRocksrange分区以及高效的OLAP性能初步缓解 。
最后统一OLAP分析平台 , 我们完全借助StarRocks实现 。
3.2、StarRocks解决的痛点和挑战
1.充分利用StarRocks在多表join方面的性能优化 , 如Colocate Join、内存表等特性 。 将原来的流式join方案改为通过星型建模方案 , 在数据服务层进行多表join的联邦查询;
2.通过StarRocks动态分区特性对存量数据进行分区 , 然后利用Bitmap数据类型进行精确去重 , 然后再在各分区内完成排序 。 排序的结果进一步汇总到一张数据表中 , 和实时到来的数据放在一起排序 , 可以有效地解决数据乱序问题 , 并且保证数据分析的效率 。
3.StarRocks可作为数据服务层的统一对外引擎 , 一方面保证查询性能 , 另一方面避免了原来多技术组件带来的冗余问题 , 极大降低了系统的管理成本 。
4.技术实现方面:替代Hbase部分业务 , 缓解了Hbase分区分裂带来的性能问题;通过ES外表引擎 , 解决ES表不能进行join、语法特殊等技术问题 。
StarRocks在具体项目上的应用及优化
目前StarRocks集群总共25台BE , 4台FE , 存储采用支持采用NVME协议的SSD硬盘 。
1.PGW用户实时位置轨迹
1.1、方案介绍
实时收集到的GGSN报文 , 通过StarRocks的聚合模型 , 将发生位置变更轨迹的明细数据实时沉淀下来 。 并对不同的区域维度生成Rollup表 。 最细粒度到基站级别 , 然后生成省、地市级别的Rollup表以供不同业务查询 。
GGSN报文量35万/s , 通过SparkStreaming处理解析后 , 每1分钟StreamLoad一次入StarRocks 。
1.2、方案优化
最开始因为Rollup表建了省、地市、区县、乡镇 , 导致在写入时IO负担过大 , 写入速度跟不上数据推送 , SparkStreaming出现挤压 , 后期通过性能测试Rollup表只建立了省、地市维度 。 同时新增一张乡镇base表 , 并在其基础上建立区县Rollup表 。
同时为保证查询的时效性,base表Rollup表前缀索引在字段类型和选择上按照官方建议 , 避免使用Varchar类型 。
2.区域会话明细模型
2.1、项目背景
数据服务层需对外提供每张物联卡 , 统一会话发生位置变更后在不同区域的套餐使用情况 , 会话时常等信息 。 进而统计物联卡各区域的漫入漫出情况 。
2.2、项目方案
实时收集到的GGSN报文 , 通过StarRocks的聚合模型 , 将发生位置变更时的套餐记录 , 变更时间沉淀下来 。 然后通过定时任务 , 从聚合模型明细数据中计算出套餐使用情况 , 会话时长 , 生成新的DWD表 。 StarRocks目前的物化视图很有用 , 但还不是很灵活 , 比如 , 只支持明细数据表模型 , 并且支持单表创建物化视图 , 不支持多表Join构建物化视图 。
StarRocks在中移物联网PGW实时会话业务领域的展望
一方面我们目前了解到 , StarRocks开发团队 , 目前正在解决StarRocks字段级别无法支持更新的短板 。 在未来StarRocks升级过程中 , 我们可能会摒弃掉Kudu,完全借助StarRocks实现实时数仓技术架构 。
另一方面 , 我们期待StarRocks物化视图的灵活性更高 , 可以支持Join级别的物化视图和不同表引擎的物化视图 。 除此之外 , 在接下来的项目开发过程中我们也计划进一步使用bitmap索引、Colocation Join等更丰富的功能提高我们的查询速度 。
【中国资讯报道网|在中移物联网PGW实时会话业务领域的应用】除此之外 , 为了完善实时数仓的分层结构 , 我们计划在未来使用Flink来对接StarRocks , 保证数仓的分层结构 , 同时进一步完善统一的OLAP数据分析平台 。 (作者:宁彦辉中移物联网大数据开发工程师 , 主要从事流计算开发、物联网机器学习数据挖掘以及OLAP查询引擎数据开发)
稿源:(中国资讯报道网)
【傻大方】网址:http://www.shadafang.com/c/111295O612021.html
标题:中国资讯报道网|在中移物联网PGW实时会话业务领域的应用( 二 )