邮政科学研究规划院有限公司(以下简称“邮科院”),作为中国邮政集团有限公司的科研智库单位,专注于战略规划、企业管理、工程设计、物流装备、智能终端、质量检测、标准化研究等领域,在助力中国邮政战略转型和经营发展中发挥着重要支撑作用。

邮科院数据组负责全院大数据体系架构的建设,支撑日常BI运营分析、科研数据产品、物流数据、网点画像等业务场景。邮科院数据组通过使用StarRocks,统一了实时和离线的分析场景,替换了ClickHouse、Presto、MySQL等系统,解决了原有多套系统带来的运维和使用复杂性,简化了数据ETL流程,同时大幅提升OLAP、Adhoc等场景的查询效率。本文主要介绍邮科院数据组基于新一代极速全场景MPP数据库StarRocks,在数据服务体系和数据应用场景中的实践和探索。

作者:谢翔,邮政科学研究规划院有限公司寄递研究所数据组负责人,专注于数仓建设、数据分析等领域研究。

业务背景

随着科研数据积累越来越大,数据规模和体量也急剧膨胀。科研的原始数据通常来源于研报抽取、日志埋点文件、业务数据库、三方接口等。过去通常基于CDH/Hadoop等大数据分布式计算框架和数据集成工具,构建离线的数据仓库,并对数据进行适当的分层、建模、加工和管理,构建各类分析主题。邮科院数据体系中沉淀了诸多研报主题数据,例如:电商流量数据,物流企业财务数据,行业报告相关的数据等。

上层数据应用对查询的响应延迟和时效性要求高,会将数据通过数据同步工具同步到MySQL、ElasticSearch、Presto、HBase、ClickHouse等数据库系统中,来支撑上层数据应用的查询要求。

邮科院的大数据总体架构如下图所示,从下到上可以分为数据接入层、数据计算层、数据服务层和数据应用层。

数据计算层使用科研工作各分析场景下产生的模型/方案/业务的明细数据,进行离线数据计算,对TB级别的明细数据进行调度、聚合、计算,在数仓里沉淀出大量明细表、聚合表和最终的数据报表。

数据计算层生成的各类数据表,会同步到数据服务层,由数据服务层提供接口给数据应用层使用,满足不同的数据业务需求。

业务痛点

数据服务层的愿景是开放数仓能力,建立统一的数据服务出口,针对不同的数据业务分析场景(数据规模、QPS、UDF支持、运维成本等),原有架构在底层使用了不同的查询引擎:

  • 大数据量、低QPS:使用Hive、Presto、ClickHouse等基于Hadoop生态的离线批任务计算框架和MPP数据库来解决。

  • 小数据量、高QPS:使用MySQL、ElasticSearch、HBase、MongoDB等关系型/非关系型数据库来解决。

使用多套查询引擎,我们遇到如下问题和挑战:

  • 离线/实时ETL任务过多,处理逻辑大部分为简单聚合/去重,聚合表数量庞大,导致运营和运维上的成本增加;

  • 针对中等数据量、中等QPS的查询场景,如何能兼顾数据规模的同时,有较友好的查询响应延迟;

  • 大数据量下插入、更新的实时数据场景无法得到支持,例如:网点画像、实时数据导入、邮路路径、研报数据汇总等。

OLAP引擎选型

针对如上的问题和挑战,我们的目标是寻求尽可能少的OLAP引擎,利用在明细表上现场计算来解决ETL任务、数仓表过多问题,同时需要兼顾在数据规模、查询QPS、响应耗时、查询场景方面的权衡。

目前市面上OLAP引擎百花齐放,诸如Impala、Druid、ClickHouse、StarRocks。经过一番调研,我们最终选择了StarRocks。StarRocks是基于MPP架构的分析型数据库,自带数据存储,整合了大数据框架的优势,支持主键更新、支持现代化物化视图、支持高并发和高吞吐的即席查询等诸多优点,天然能解决我们上述的问题。

StarRocks应用实践

StarRocks已经投入生产环境,主要作为离线/实时数据的OLAP数据库使用。离线数据主要存储于HDFS中,通过DataX任务批量同步数据到StarRocks;另一部分实时数据主要存储于Kafka中,使用StarRocks的routine load功能实时将数据从kafka写入到StarRocks。

在没有引入StarRocks之前,我们使用的底层引擎是MySQL、Presto on HDFS和ClickHouse等系统,对明细表/聚合表进行查询。这几种方式都存在着不少问题:

  • MySQL处理上亿规模的数据,无论使用分库分表、分区表、集群化部署的PolarDB方案,都会存在慢查询、数据库扛不住、运维困难的窘境;

  • Presto on HDFS的方案更偏向于分析型数据业务,虽然能存储海量的数据,计算能力不错,唯一致命的在于无法满足在线业务的高吞吐QPS,查询比较难做到毫秒级。

  • ClickHouse对Join支持较弱,只能使用大宽表建模,不够灵活,另外运维也比较复杂。

在引入StarRocks替换MySQL、Presto和ClickHouse后,StarRocks带来的业务效果如下:

  • 支撑了在线报表查询+数据分析业务,服务于对内运营+对外行业分析的数据产品,报表业务查询大部分耗时在毫秒级别,分析型业务查询大部分耗时在秒级别;

  • 支持10亿规模的明细表查询,月、季、年等维度统计数据现场算聚合统计、精准去重等,查询耗时都能控制在500ms以内;

  • 千万级别的多表的Join和union查询,经过Colocate Join特性优化,查询响应在秒级。

另外,我们还将StarRocks应用到实时数据分析场景, StarRocks在实时数据分析主要有如下优势:

  • 实时写入性能:目前StarRocks支持HTTP方式的 Stream Load,可以自定义的分钟级别微批写入,以及Routine Load功能,可以将Kafka 的数据实时同步到StarRocks中,满足当前实时数据分析业务;

  • 统一离线和实时分析:实时数据和离线数据更好的在StarRocks中进行融合,灵活支撑应用,数据存储策略通过StarRocks动态分区的功能进行自动管理;

  • SQL Online Serving:高效的SQL即席查询能力,能够兼容业界标准的SQL规范,支撑业务灵活复杂的访问,提高取数开发的效率。

总结和规划

邮科院数据组引入StarRocks生产集群,解决了数据服务层单表亿级别规模、高QPS数据场景下引擎的空白,直接开放明细表准实时查询的能力,给各项目组上层数据业务和BI系统提供了更多的选择和自由度,同时将大大减少数仓中大量ETL任务、聚合表、报表,降低了数仓ETL的运维压力和维护成本,StarRocks综合性价比较原有的MySQL、Presto、ClickHouse等同类产品提升数倍以上。

未来,邮科院在StarRocks的应用和实践上还有不少规划:

  • 除了unique和duplicate数据模型,未来会将符合的数据场景迁移至aggregation模型,并使用物化视图,进一步降低数仓开发维护成本,降低查询延迟;

  • StarRockson ES的功能也值得我们深挖和探索,解决原生ES集群无法支持跨索引Join的能力;

  • 更多数据应用层的场景接入StarRocks,例如网点画像服务、邮路路径分析等,将进一步拓展StarRocks在实时数据写入、批量数据更新场景中的应用;

  • 与科研数据分析平台、数仓平台深度打通,完善数据整体架构,作为数据团队的基础设施去保障稳定性和服务;

  • 考虑使用多云架构,自主可控的数仓架构可以灵活的在多云间切换迁移,降低单一云厂商的依赖,控制成本提高可用性。

最后的最后,感谢StarRocks技术团队给予的热情、靠谱的答疑解惑和技术支持!

中国邮政邮科院 X StarRocks:统一OLAP平台,大幅降低运维成本相关推荐

  1. GBase 8a 运维监控工具---“统一数据平台监控与运维系统”

    GBase 8a MPP Cluster 提供了海量数据的管理及分析功能和易于监管数据库集群的工具. 本篇文章主要介绍一款 便于数据库管理员监控数据库集群的图形化工具: "统一数据平台监控与 ...

  2. 统一数据平台监控与运维系统介绍

    产品概述: 统一监控是南大通用数据技术股份有限公司开发的数据库产品的组成部分.为用户提供了可信的集群监控数据,及时的报警功能,直观的集群状态和性能趋势展示,可靠的数据分布视图和集群会话.系统日志等展示 ...

  3. 武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题)

    武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题) 资源: https://download.csdn.net/download/weixin_53403301 ...

  4. 猿辅导 x DorisDB:构建统一OLAP平台,全面升级数据分析能力

    猿辅导公司的数据中台部门为猿辅导.斑马.猿编程.小猿搜题.猿题库.南瓜科学等各个业务线的产品.运营.研发提供标准化的数据集(OneData)和统一数据服务(OneService).OLAP平台作为数据 ...

  5. 使用云呐统一运维一体机降低运维数据中心的运营成本

    企业要发展,除了有自己的洞察力适应时代的发展外,还要能够处理好掌握的数据.这里的数据可以是客户信息或日常运营活动中的数据.能够处理日常经营活动中的数据,可以保证公司整体运营团队的可靠运营,降低运营暂停 ...

  6. 诺亚财富 X Hologres : 统一OLAP分析引擎,全面打造金融数字化分析平台

    作者: 李欣 诺亚财富数据总监, 卢帅  诺亚财富高级数据开发 客户简介 诺亚控股有限公司以"诺亚财富"为品牌,源起于中国,是首家在港美两地上市的中国独立财富管理机构,首家开创了财 ...

  7. 4A(统一安全管理平台解决方案)

    编辑 4A是指:认证Authentication.账号Account.授权Authorization.审计Audit,中文名称为统一安全管理平台解决方案.即将身份认证.授权.审计和账号(即不可否认性及 ...

  8. 《2022中国各地区科创之星势力图1.0版》重磅发布

    数据猿出品 提示说明:<2022中国各地区科创之星势力图2.0版>以及3.0版也会在本年度内再次迭代推出,并在超过100家媒体全网同步扩散传播,欢迎各地区企业来申报. 数据智能产业创新服务 ...

  9. 《2022中国各地区科创之星势力图3.0版》重磅发布

    数据猿出品 本次"数据猿行业盘点季大型主题策划活动--<2022中国各地区科创之星势力图3.0版>"为2022年度图谱版本的升级更新版,下一次版本迭代将于2023年4月 ...

最新文章

  1. Redhat、CentOS进单用户模式进行维护
  2. 腾讯这家公司的核心竞争力是什么?为什么?
  3. 昨天登陆页面,无法进入后台,今天攻克了
  4. Redis从入门到精通,至少要看看这篇!
  5. 摆脱pom XML…几乎
  6. java私塾 java篇_Java私塾跟我学系列——JAVA篇 五、
  7. java里有没有 0的使用_请问有没有人有零基础Java基础习题?
  8. 【2018.06.21学习笔记】【linux高级知识 14.1-14.3】
  9. [机器学习]-K近邻-最简单的入门实战例子
  10. vuejs+webpack环境搭建
  11. Emacs lisp函数调用defun(五)
  12. mmc驱动中的mmc_host结构体中rescan_disable变量的作用及使用
  13. WPS、EXCEL中输入公式F4插入绝对引用无反应的解决方法
  14. 互联网时代成功创业故事
  15. DevOps名言警句 - 2021
  16. OSPF FA地址分析
  17. gmac网卡驱动1-------mac与phy基础知识
  18. 【好东西一定要转】关于Solaris安全配置的转贴和讨论
  19. oracle闪回空间满的原因,处理Oracle数据库闪回区空间满的问题
  20. python输入一组数据找出被七除余一的数_C程序设计实验-1-7.doc

热门文章

  1. 749-你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子
  2. Parse系列之后台搭建与使用
  3. 从Spark Row 到 GenericRowWithSchema
  4. MATLAB的图像中值滤波
  5. centos双机热备
  6. 转载系列【检测】| CVPR2020:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Trai
  7. python不同版本可以共存吗_解决方案-01、python版本共存
  8. iOS开发-关于微信WCDB的使用 WCDB嵌套模型的使用
  9. python引号内引用变量_Python 在引号内引用变量
  10. springmvc的RequestResponseBodyMethodProcessor解析_晏无心_新浪博客