#01
网易邮箱见证了国内互联网行业从诞生到发展以及壮大的整个过程,相应的数据处理架构也发生了一系列变化:
-
2005年至2017年:基于 Hadoop 生态构建的大数据架构。
-
2018年到2020年:基于 Flink + ClickHouse 自研的批流合一的大数据平台。
-
2021年至今:基于StarRocks构建的极速统一的大数据平台。
#02
#03
-
多维度数据查询:包括支付链路漏斗分析、活动引流效果分析以及风控用户行为分析等。 -
日常数据处理:在这方面是把 StarRocks 作为一个工具库来使用,比如一些推广或者一些用户导流方面的用户筛选,以及一些多元数据的合并处理如关联过滤去重等。 -
实时 数仓 的聚合处理:用户的存储容量需要实时的叠加汇总,来生成一个最终的指标,另外还需要对用户行为进行分析、识别恶意用户等。 -
高 并发 数据查询接口:包括数据链路的告警,还有一些用户行为机制的触发等。
性能
下图中的3是我们生产环境中的一个 StarRocks 集群,包括三台物理机。
图中的1是一个跨表查询的结果,在若干个数据规模超过亿级的大表上进行一个联合查询,大概两分钟左右能够产生结果,这是比较强悍的一个跨表查询,解决掉了我们以往的比较头痛的问题。

对于这些复杂的查询,以往只能在数据规划阶段,把所有维度都合成一个大宽表来实现,一来导致维护的难度较高,二来会造成数据冗余,实现不够优雅。有了 StarRocks 之后,可以充分利用它的跨表查询的能力,把不同的数据,按照各自的特性切分到最合适的维度,在查询时根据各自的特性,组合成一个结果输出。
图中的2是在一个高并发场景下的压测结果,在100个并发以内,StarRocks 的响应时间都可以控制在50毫秒以内,这样的高并发的响应效率,已经足以媲美 HBase 或关系型数据库的能力了。因此
StarRocks 其实已经能够取代关系型数据库的部分应用场景,从而不需要部署多种不同的业务架构,实现我们减少投入的目标。
图中的4是数据的 IO 的压测结果,基于文件的 Stream Load 来进行压测,导入1.1亿条数据,耗时5分钟左右。比较强大的交互式数据导入能力,保证了 StarRocks 作为基础数仓对接不同数据源的扩展能力。
运维
对比 ClickHouse 和 Hadoop 这些比较传统的大数据架构,StarRocks 的系统维护门槛相对较低,主要体现在它是一个没有第三方依赖的系统,能够
开箱即用
。
StarRocks 的 FE/BE 的分离设计,分区分桶的数据存储方案,还有多副本机制,能够最大程度的保证数据的可用性。
StarRocks 分区分桶的设计,保证了能够支持在线扩容、自动数据均衡、自动冷备等特性,很大程度上降低了维护人员的工作强度。
StarRocks 还配备了覆盖面比较广的
Grafana 模板,提供集群性能指标的全方位可视化监控,使我们能够随时随地监控集群的运行情况。
使用
StarRocks 提供了多种数据模式来支持不同的业务场景,像明细、聚合以及主键更新等,可以选择最贴切的数据模型来应对业务场景的开发。
StarRocks 支持文件、流以及外部表等多种数据交互方式,还提供了 Flink Connector 来提供流数据的支持,可以直接对接 Flink 任务实现数据流的导入。
StarRocks 的存储可以灵活的配置,像分区分桶的策略、TTL 的自动实现以及对外部表和物化视图的支持等,这些设计都能更好的提升查询性能。
StarRocks 支持标准的 SQL95 语法,同时提供了丰富的函数以及 UDF 自定义函数的功能。另外 Bitmap 可以实现数据的过滤去重以及索引的管理等。
StarRocks 在交互接口方面,它提供了 FE 多节点自动轮巡的 HTTP 接口,能够实现负载均衡。同时它对于 MySQL 协议的全兼容,很大程度上方便了业务开发,可以直接使用 MySQL Client 或者 JDBC 的驱动来开发对接。
StarRocks 有充分的技术团队支持,这也是它最重要的优势。镜舟公司提供了强大的业务团队,帮助解决我们在开发过程中遇到的问题,对于一些数据处理的工作,也提供了强大的业务支持。
#04
应用案例
1
用户登录处理链路

左边是数据链路的一个示意图,用户登录的行为数据,经过 Kafka 以及 Flink 的实时处理之后,存储到 StarRocks 数仓,然后同时支持下游4个不同的数据需求。
-
数据的落盘存储。
-
基于存储之后的数据,在 T+1 的时间窗口进行数据的统计,最终生成 OKR 指标,输出到下游的数据报表系统。
-
实时的用户登录,我们要求进行一些监控,来保证用户的敏感行为能够自动聚合叠加,到达一定阈值之后,触发一些风控处理。
-
针对需要实时查询的数据,提供一个查询接口,供下游业务调用。
以上4个需求,正好
分别对应 StarRocks 的4个特性
:
-
明细模型可以很好的支持海量数据的落盘。
-
聚合模型能够最大程度的简化数据叠加的处理逻辑。
-
跨表查询能力能够简化 OKR 指标的生成。
-
高并发的能力能够最大程度的支持数据接口的开发。
#04
-
数据的落盘存储。
-
基于存储之后的数据,在 T+1 的时间窗口进行数据的统计,最终生成 OKR 指标,输出到下游的数据报表系统。
-
实时的用户登录,我们要求进行一些监控,来保证用户的敏感行为能够自动聚合叠加,到达一定阈值之后,触发一些风控处理。
-
针对需要实时查询的数据,提供一个查询接口,供下游业务调用。
以上4个需求,正好 分别对应 StarRocks 的4个特性 : -
明细模型可以很好的支持海量数据的落盘。 -
聚合模型能够最大程度的简化数据叠加的处理逻辑。 -
跨表查询能力能够简化 OKR 指标的生成。 -
高并发的能力能够最大程度的支持数据接口的开发。
-
2
推广活动漏斗分析模型

左上角的图是网易邮箱比较常见的推广活动的节点链路的示意图,它包括6个数据节点,每个节点都会按照用户的操作行为,将数据反馈到后台的数仓里面。
我们的任务就是根据这些反馈的素材数据,建立如右图这样的漏斗模型,方便产品和推广人员直观的分析出推广链路里面的短板是哪个环节,用户在每个环节里流失的具体原因是什么。在模型的建立过程中充分利用了 StarRocks 的跨表查询的能力,能够根据用户ID以及一些时间参数,对6个不同节点上反馈的数据进行串联,最终生成大宽表来支持模型的建立。
#05
未来展望
1
StarRocks 的优势和展望
StarRocks 的优势
包括
开箱即用、投入较少、功能强大、覆盖的场景多、架构先进简洁、迭代迅速、支持到位
等。
这里重点说一下我们的展望。首先,网易邮箱作为一个历史比较久的业务,有大量的数据存储在一些比较老旧的数据架构里面,如何快速并且低成本的将这些数据迁移到 StarRocks 平台上,同时能够保证迁移过程中数据的安全稳定,并且不影响正常的数据链路,很希望能够看到 StarRocks 有相应的支持。
其次,对于像AI算法之类的数据挖掘的需求,也希望看到 StarRocks 的支持。
再者,网易邮件里面存储了很多图片文件视频等非结构化的内容,如果要把它们全部迁移到 StarRocks 存储系统里面来,也希望能有一个类似数据湖的解决方案。
最后,在可视化工具方面,也希望能够看到 StarRocks 的有力支持。
左上角的图是网易邮箱比较常见的推广活动的节点链路的示意图,它包括6个数据节点,每个节点都会按照用户的操作行为,将数据反馈到后台的数仓里面。
#05
2
总结
网易邮箱从21年开始接触 StarRocks,到现在一年多的时间里,作为一个刚刚崭露头角的 OLAP 系统,StarRocks 在各方面的表现都很不错,它在功能、性能以及覆盖的场景方面的表现,都让我们相当满意,甚至超出了我们当初的预期。
后续网易邮箱会上线更多基于 StarRocks 的业务应用,同时也会在网易集团内部推广,希望能够得到厂商更有力的支持。
希望在厂商的不断努力,以及 StarRocks 开源之后的用户反馈和积极参与下,StarRocks 能够实现更进一步的能力发挥。最后也借此机会再次感谢镜舟公司对于网易邮箱在大数据开发方面的最体贴最有力的支持,谢谢大家!
关于 StarRocks
StarRocks 是数据分析新范式的开创者、新标准的领导者。面世三年来,StarRocks 一直专注打造世界顶级的新一代极速全场景 MPP 数据库,帮助企业建立“极速统一”的数据分析新范式,是实现数字化转型和降本增效的关键基础设施。
StarRocks 持续突破既有框架,以技术创新全面驱动用户业务发展。当前全球超过 200 家市值 70 亿元以上的头部企业都在基于 StarRocks 构建新一代数据分析能力,包括腾讯、携程、平安银行、中原银行、中信建投、招商证券、众安保险、大润发、百草味、顺丰、京东物流、TCL、OPPO 等,并与全球云计算领导者亚马逊云、阿里云、腾讯云等达成战略合作伙伴。
拥抱开源,StarRocks 全球开源社区飞速成长。截至 2022 年底,已有超过 200 位贡献者,社群用户近万人,吸引几十家国内外行业头部企业参与共建。项目在 GitHub 星数已超 3800 个,成为年度开源热力值增速第一的项目,市场渗透率跻身中国前十名。

关于 StarRocks