五分钟技术趣谈 | 基于StarRocks的城市物联网数据分析
作者:邓文祥,单位:中移物联网有限公司
(相关资料图)
在资源不受限情况下,基于数仓分层模型建设等方案都已基本成熟。但是在OLAP领域,目前还没有统一的技术栈。StarRocks架构设计融合了MPP数据库以及分布式系统的设计思想,天然地解决了上述问题。
Part 01●背景介绍●
城市物联网实时数仓主要解决政务运营管理以及数据共享问题,其业务场景方面包含:物联平台基础统计信息,如用户总数、设备总数、产品总数、行业总数等;实时设备行为,如实时在线数、设备活跃率、实时设备告警数等;运营管理相关统计,如共享接口被访问次数、部门新增设备数、接口数据量等。
技术方面,主要基于Hadoop开源技术栈,主要分为数据源层、数据采集层、离线计算与实时计算层、数据集市层、分析存储层、数据服务层等。其中数据源层:包括物联网OLTP业务数据、日志数据、网关调用数据;数据采集层:基于DataX,Flume,FileBeat等各服务业务之间的数据汇聚、融合等问题,将不同系统的数据相互打通,实现数据归集;离线计算:利用Hive/Spark高可扩展的批处理能力承担离线数仓的ETL和数据模型加工;实时计算层:利用Flink/Spark Streaming 完成实时数据的ETL(包括维度扩充,多流Join,实时汇总)等;数据集市层:使用数仓分层模型构建ODS、DWD、DWS、DIM、DWT、ADS;分析存储层:主要依赖Clickhouse、ElasticSearch、HBase、MySQL、提供OLAP查询能力;数据服务层:该层通过提供BI分析产品、数据服务接口、统计报表,向运营管理人员提供数据分析决策能力。
Part 02●原有架构痛点●
在资源不受限情况下,无论是基于Hive、Spark的离线计算、基于Flink、Spark 的实时计算,还是基于HDFS的存储,基于数仓分层模型建设等方案都已基本成熟。但是在OLAP领域,目前还没有统一的技术栈。在城市物联网实时分析中不断探索,问题总结大致如下:
(一)资源运维成本
城市物联网客户主要面向政府,部署处于内网,私有云部署,资源相对紧张,并且大多自建统一的大数据平台,不太允许物联网平台搭建传统的Hadoop/Spark/HBase集群,部署运维非常头痛。OLAP引擎易部署,易维护,极简的架构就显得额外的重要。
(二)技术成本
由于数据源类型不同,中间件不同,城市数据中先后尝试过了MySQL、HBase、ElasticSearch、Clickhouse等OLAP引擎以及Flume,DataX,Sqoop,Spark,Hive等组件。但是随着技术栈增多,项目增长,维护成本,人力技能要求越来越高,维护越来越难。
(三)开发成本
城市物联网的数据分析场景大致可以分为:离线T+1批处理、实时更新分析场景。
批处理场景
城市物联网平台数据分析其核心的功能是基于部门、用户、产品、设备、物模型上报、告警等属性,提供多维度筛选条件,针对物联网平台资产信息进行统计分析。针对数据更新为 T+1 的分析场景,探索使用的分析引擎为 Clickhouse。利用Clickhouse构建大宽表模型,对外提供单表聚合的SQL查询,以及通过构建DWT主题宽表,提供即席查询;该场景面临的问题是:虽然Clickhouse单表查询强悍,但是JOIN能力不强,需要提前进行关联,将多表关联成单表,会存在额外的开发成本,并且Clickhouse支持的并发查询能力较低。
实时更新场景
实时更新场景主要业务是监控设备等信息,如实时上报数据量、实时设备接入量、设备告警等信息,为运营管理者提供有效的数据支撑。
针对数据为实时(秒级)更新的场景,采用Lambda 架构,基于相同的主键,采用Flink实现基于窗口、多流JOIN的与计算,并将流计算与批计算的结果数据,基于相同的主键进行合并。
Part 03●选择StarRocks的原因●
StarRocks(前DorisDB)架构设计融合了MPP数据库,以及分布式系统的设计思想,具架构精简,同时支持全面向量化引擎、智能查询优化、高效更新、智能物化视图、标准SQL、流批一体、高可用易扩展等特性,天然的解决了上述的问题。
强大的生态
Starrocks对主流数据分析组件都有良好的支持,如可以使用StarRocks建立ElasticSearch的外表,为ElasticSearch提供SQL查询的能力,减少数据采集环节,减少资源开销,更加符合城市物联网资源紧张需求。
引擎归一化
城市物联网平台涉及的多维分析,高并发查询,预计算,实时分析,即席查询查询等场景下基本上可以使用一套StarRocks解决,解决维护多种技术组件的使用成本。
替换大宽表模型
StarRocks支持Broadcast Join、Colocate Join等分布式Join的特性,可以在查询性能可接受的范围内,使用星型模型替代大宽表模型,节约提前关联的开发成本,同时针对事实表中历史数据变更,需要重跑的场景,可以只重跑部分表的数据,提高整体的跑数效率;
简化预聚合部分
StarRocks支持明细、聚合、更新模型,可以基于StarRocks自带预聚合的特性,优化掉现有Lambda架构中的预聚合部分。StarRocks 直接拉取/订阅hive或者Kafka中的数据,在StarRocks中进行聚合运算;StarRocks的数据模型是聚合模型,通过最大值、最小值、求和等聚合函数在StarRocks中进行预聚合。
支持模型持续迭代
针对已在线上运行的模型,如果有需求上的变更,比如增加、删除、变更字段,可以使用StarRocks简单SQL命令动态地修改表的定义,在表结构变更的过程中,线上的服务不受任何的影响,对于业务模型不确定场景,益处相当巨大。
物化视图
StarRocks支持对原表构建物化视图,数据更新的时候,物化视图跟随原表一起进行更新,保证数据的一致性。当用户查询时,并不感知物化视图的存在,不必显式的指定物化视图的名称,查询优化器可以根据查询条件自动判断是否可以路由到相应的物化视图上。
Part 04●实践经验●
基于目前已经在多层级离线指标分析、即席查询分析、实时API监控等场景中探索Starrocks,总结出以下经验:
(一)优化表结构定义
1.模型选择
StarRocks的模型包括明细模型、聚合模型、更新模型。
如果需要对原始的数据(比如设备表,产品表,物模型表等)来进行分析,可以选择明细模型。
业务分析汇总类查询,比如sum、count、 max等类型的查询,可以选择聚合模型,提前进行预聚合(比如用户总设备数),查询的时候直接获取结果。
如果数据需要频繁的进行状态更新(比如设备在线状态),可以选择更新模型。
2.分区和分桶
StarRocks可以对表进行分区和分桶,分区在逻辑上把表划分成了多个子表,可以按照时间进行分区;分桶可以按照不同的策略将数据划分为不同的tablet,分布在不同的BE节点上。
3.索引优化
为了提高查询的性能,可以对StarRocks的表结构额外构建索引。稀疏索引:可以将查询中常见的过滤字段放在Schema的前面, 区分度越大,频次越高的查询字段越往前放;同时对区分度比较大的列构建Bloomfilter;对区分度不大的列构建Bitmap Index;
4.物化视图
针对实际查询场景中经常用到的查询SQL,可以对原始表构建物化视图,其本质为原始表的一个物化索引,通过物化视图提前进行索引排序、指标预计算,查询的时候自动路由到物化视图进行查询;
5.去重优化
在产品与设备数据上报次数,针对百亿级别数据量,使用常规的方式(COUNT DISTRINCT)去重,其缺点是需要消耗极大的计算和存储资源,对大规模数据集和查询延迟敏感的去重场景支持不够友好。通过定义BITMAP的数据类型,可以减少传统COUNT DISTINCT去重的执行需要的内存空间、执行时长;而对于像API调用计算,在允许有部分统计偏差的前提下,可以定义HyperLogLog的数据类型,提高去重效率;
(二)优化查询SQL
1.JOIN优化
当小表与大表进行JOIN的时候,可以使用 Broadcast JOIN ,该方式可以用于事实表与维度表进行关联查询;当大表与大表进行JOIN的时候,为了加速查询,相关表可以采用共同的分桶列进行分桶。当分桶列相同,相关表进行JOIN操作时,可以直接在本地进行JOIN,再将结果数据进行合并,避免数据在中间计算的时候就在集群中的传输,减少数据shuffle带来的资源开销。
2.CBO优化器
针对复杂即席查询场景,可以开启StarRocks的基于成本(Cost-based Optimizer ,CBO)的查询规划器,在众多查询计划空间中快速找到最优计划,提高查询优化器;
(三)数据集成
通过Routine Load或者Stream Load订阅Kafka数据实时将设备上报数据,告警数据实时同步到StarRocks,减少Flink采集数据额外开销成本,便于日常维护。
Part 05●后续规划●
城市物联网项目目前需要适配国产化信创环境,而Starrocks目前对国产化操作系统有了较好的支持,后续需要在国产化环境下验证,大数据量,高并发场景下,Starrocks实时数据分析的兼容性、稳定性以及性能情况。
标签:
- 五分钟技术趣谈 | 基于StarRocks的城市物联网数据分析
- 海兴电力:目前不持有任何信托类理财产品
- 万业企业:凯世通签署12吋晶圆厂新客户订单
- 10家公司首发事项将于本周上会
- 5名退伍老兵从事 养老服务“绝不打折”
- 住院医师规范化培训眼科教学查房要点
- 护航未成年人成长|筑牢暑期安全防线
- 南昌杨道明世纪万象城店外卖中有头发 被责令立即整改大江网-信息日报
- 拆迁补偿房屋面积比例是多少?
- 社会组织“硬核”助力大学生就业 打通校园到职场“最后一公里”
- 广州鼓励在城中村规模化建设保障性租赁住房
- 马斯克称想先在扎克伯克后院打一架:明天就到你家门口 要求决斗
- 各地加快推进保障性住房建设和供应 更多市民实现住有所居
- 泛区内外养殖户“结对帮扶” 廊坊市安次区140头牛安新“家”
- 智通A股融资融券统计|8月11日
- 市妇儿发展基金会向静海区捐赠爱心物资:“娘家人”送温暖 帮群众渡难关
- 小米电视安装服务双升级,最高降价 30%
- 江苏扬州:渔家妹助农打造“扬州甄选”,构建辐射全市带货模式
- 敦化市贤儒镇城山子村传统村落揭牌
- 盘古智能(301456)8月11日主力资金净卖出237.24万元
- 萨顶顶原名是_萨顶顶原名
- 泽连斯基承认乌克兰对克里米亚大桥发动袭击
- 新莱福(301323)8月11日主力资金净买入429.70万元
- 蘑菇鸡肉焗饭(关于蘑菇鸡肉焗饭简述)
- Primark将在QueensMall开设54家KSF商店
- 在凯迪拉克凯雷德IQ成为今天的样子之前先看看它
- 【宏观洞见】7月金融数据解读:信贷小月投放较弱,社融增速继续下降
- 维企说法|股权融资的对赌协议与案例
- 2023暑期档总票房破170亿
- 大众特斯拉不是对手!比亚迪ATTO 3成瑞典7月新能源车单车销冠
- 徐家汇:8月11日融资买入880.41万元,融资融券余额1.2亿元
- 在体育的赛道上,山东跑出“加速度”
- 牙齿变“黑”不一定是蛀牙
- 南京2020年中考会不会延期 南京中考新政策出台2021年
- 可立克:8月11日融资净买入39.37万元,连续3日累计净买入82.38万元
- 美国夏威夷山火已致89人遇难!为百年来最致命大火
- 相信马宁,足协回应“侮辱马宁的标语”:请山东球迷尊重裁判吹罚
- imp再次锐评Uzi:之所以被骂,是因为粉丝吹得太狠,不是他不厉害
- 强化“旅游警务”打防体系
- 《暗黑4》官方直播被玩家怒喷:开发者都不会玩游戏
- 券商买了啥?二季度新进布局股曝光!上半年券商业绩向好,机构认为估值仍具备安全边际
- 中国最大网络棋牌公司博雅互动将购买500万美元加密货币,曾因涉赌案被罚款9.43亿元
- 广发汽车ETF跌超4%,创上市新低
- 尼政变军人要以“叛国罪”起诉他!
- 疯狂的《芭比》:连芭比棺材都面世了,彻底颠覆了电影营销行业
- 港股汽车股多数走低 理想汽车跌近7%
- Maison Margiela x Pendleton融合多种设计语言 Diptyque带来夏日光影 | 是日美好事物
- 袁大头九年银元价格(2023年08月14日)
- 八年级上册数学课本答案青岛出版社 八年级上册数学书答案青岛版
- 爱的故事作文600字初二作文(爱的故事作文)
- 54个银行账户被冻结!合力泰怎么了?
- 54个银行账户被冻结!合力泰怎么了?
- 神州细胞14价HPV疫苗进入三期临床
- Mysteel钢铁市场周度观察:铁水降产前的混沌
- 甜食吃太多对视力不友好?医生:均衡饮食是“王道”
- 内蒙古赤峰市全面启动两大沙地歼灭战
- 建湖城投22亿元私募项目获上交所受理
- 保险+服务”带热家财险
- 天晟新材8月14日加速下跌
- 特斯拉Model Y两款车型降1.4万元 新能源车市场又起波澜
- 约旦通过新法令严惩网络犯罪
- 攀岩世锦赛结束 龙金宝拿到巴黎奥运会门票
- 新加坡给饮料分级了!果然爱喝的都是 C 和 D ……
- 绵阳具有保研资格的大学名单
- 华新环保股东户数连续6期下降 筹码集中以来股价累计上涨3.77%
- 国家地理标志保护产品“蒲江米花糖”入选中石化易捷、T11生鲜超市“国家地标名品”专区
- 金源博:黄金持续走跌,这波空到哪里?
- 抖音上线“进口超市”,加码自营跨境电商
- 关爱通2023年上半年净利2692.29万 同比减少20.81%
- 旅游板块盘初走高 桂林旅游涨超5%
- 中国已成为全球最大的智能家居消费国
- “学习困难”门诊暑期爆火,学习不好就是病吗?
- 支付宝发布紧急声明
- 秋天的第一道“彩虹”,就在浏阳永安
- 甜食吃太多对视力不友好?医生:均衡饮食更重要
- 正宁县前7个月招商引资到位资金16.87亿元
- 浦发集团20亿元公司债券将于8月22日付息 票面利率2.94%
- 西安地头蛇:20亿年收入,1935家门店
- 2023广东珠海市斗门区档案馆招聘普通雇员总成绩及入围体检人员和体检事项公告
- 中国男篮胜新西兰 中国男篮1分险胜新西兰 基本情况讲解
- apex英雄新赛季卡退、登不上、无法运行解决办法
- 我国CCUS应用距离商业化还有多远?
- 1.57亿,是第二名库里的3倍!詹姆斯再创神迹,透露湖人新目标
- 云创数据:8月11日融资买入23.58万元,融资融券余额445.31万元
- 永泰能源董秘回复: 公司所属页岩气项目正在按照页岩气勘查相关技术规范及计划开展相关区块三维地震勘查工作
- 四川一大爷踩平衡车挑粪桶 网友:脚踩“风火轮” 手拿“乾坤杆”
- 四川越西彝族选美冠军出炉 邱婷夺得“金索玛”
- 记者:作为欧洲足坛最好的巴西球员,内马尔去沙特踢球令人沮丧
- 普利特:8月11日融券卖出1.33万股,融资融券余额3.89亿元
- 如何看电脑上用u盘-(如何看电脑上用u盘的文件)
- 大阴线后哪些可能有机会?
- 中证转债指数开盘下跌0.07%,N宏微转涨30%,N阳谷转、N众和转涨24%,北方转债跌近2%。
- 法尔克4-2逆转夺冠!张本智和“接班人”获得称赞,未来可期!
- INES:德国未来数年将面临天然气短缺风险
- 注意!浙江公布2023年第二批涉嫌非法社会组织名单
- 芜湖第95场“畅聊早餐会”举行
- 数据安全板块活跃,石基信息涨近2%,数字经济ETF(159658)盘中溢价丨ETF观察
- 惠安启动成长营活动 培养青年人才
- 南方电网抽水蓄能电站日发电量突破5000万千瓦时
- 女超联赛的夏转补撤报名情况