作者:周桂民,大数据架构师和负责人,次要负责大数据平台根底建设工作

酷开科技,全称深圳市酷开网络科技股份有限公司,成立于 2006 年,自主研发了智能电视操作系统——酷开零碎。酷开科技先后承受来自爱奇艺、腾讯、百度的投资入股,市场估值近百亿元,次要业务有客厅经营业务、数字化营销业务、融媒体业务、共享屏业务等。截止 2022 年 3 月,中国共计有 3 亿台客厅智能终端,激活量 1.9 亿,日活用户冲破 1.2 亿人,日均开机率达 40 %。其中,酷开科技领有 5900 万终端数、3076 万月活以及 457 分钟均匀开机时长。

酷开大数据部门负责公司大数据体系框架建设,次要工作是撑持日常的 BI 剖析、数据看板、人群画像等场景。客厅经济背景下的公司业务增长带来了数据量的激增,不同的数据需要衍生出多种数据服务,不同的数据服务抉择不同的数据库和数仓技术,比方 MySQL、ElasticSearch、Apache HBase、ClickHouse 等。为了最大化升高运维老本、提供高性能的数据服务,做到真正的极速对立,从 2021 年下半年开始,酷开大数据部门正式引入 StarRocks。

无论是多表关联查问还是单表查问,StarRocks 在稳定性和查问速度上都有超预期的体现。50 亿数据量的明细表中查问去重操作,查问效率根本能管制在毫秒级别,目前反对在线数百人同时应用,人群画像标签计算由原来的 2-3 小时缩短到秒级返回计算结果,大大提高了业务经营的效率和体验。

目前,酷开大数据部门正在用 StarRocks 反对更多的剖析场景,对立 OLAP 剖析引擎,缩小多引擎保护老本。

01

业务背景

1、酷魔方数据平台
酷魔方数据平台次要面向外部业务人员,提供数据集成、数据荡涤、数据分析以及可视化等服务。该产品买通外部各业务数据,为业务剖析人员提供多种分析方法和分析模型,进步业务剖析效率,晋升沉闷、留存和营收转化等。酷魔方的数据服务接口给各业务线提供数据 API 服务、数据订阅等。

平台次要提供三大剖析性能:

  1. 标准化行为剖析
  2. 可视化图表剖析
  3. 数据看板

平台次要提供三大方面性能:

  1. 标签治理:自定义标签,通过离线和实时工作对标签进行计算和解决
  2. 自主圈人:业务经营人员能够依据任意的业务规定进行用户分群和二次圈定
  3. 用户画像:业务经营人员在自定义的用户群进行画像剖析

2、万户画像平台

万户画像平台是智能经营平台,帮忙业务对指标客户进行人群圈定、标签治理、智能投递等人群洞察性能。次要是对 OTT 终端用户属性、行为偏好、兴趣爱好等信息进行标签化解决和计算,辨认出不同的用户类别,依据不必的类别进行人群圈定,对指标用户进行精细化经营,开掘更有价值的用户群体。

02

历史架构和痛点

![上传中...]()

SDK 埋点数据通过 Lua 脚本服务采集后,发送到 Apache Kafka,通过 Apache Spark(以下简称 Spark)工作把数据落到 HDFS。或者通过 Apache Flink (以下简称 Flink)落地到 HDFS,再用 Spark 或者 Apache Hive (以下简称 Hive)进行数据加工解决,数据汇总后把数据放到 MySQL 或 ElasticSearch 中对外提供服务。

酷魔方数据平台里的业务明细数据,通过 Hive 或者 Spark 离线解决,或通过 Flink 实时处理,数据汇总聚合后放在 MySQL 里对外提供数据服务。

该计划在进行多维度剖析时候,特地是业务数据高达数十亿的时候,单库 MySQL 是不能满足查问性能要求的,只能通过分库分表的形式来做数据拆分,这样就减少了平台的运维老本。随着业务倒退,业务流量越来越大,对仅能反对单表千万级别数据的 MySQL 来说,即便采纳分库分表计划,查问性能也难以撑持,还有数据压缩占比少,运维老本低等劣势。

万户画像平台次要用来满足用户标签查问需要,但对于简单数据结构类型,ElasticSearch 就不能满足。有时还须要对用户标签进行剖析解决,须要通过 Spark 提交计算工作,通常须要跑 20-30 分钟。对于业务剖析人员来说,数据交互体验是十分不敌对的,减少的是数据处理复杂度和数据存储老本,同时在计算时会占用十分多的队列资源。

03

引入 StarRocks

为了解决下面的业务痛点,咱们从 2021 年下半年开始调研 StarRocks和ClickHouse,并做了两者的比照测试,应用了 10 台服务器(32C+256G+SSD),80 亿数据量,失去以下测试后果:

测试SQL并发度StarRocks(95%rt)ClickHouse(95%rt)
单表明细过滤10319010283
单表全量分组聚合30602724518
单表分组过滤聚合304054305

依据这个测试后果,咱们选型了 StarRocks,并把业务逐渐切换到 StarRocks上,彻底解决了运维老本高、平台性能无奈满足业务需要的痛点。
在万户画像平台,经营在做人群圈选和人群剖析的运算时,之前是通过传递动静参数组成 SQL,应用 Spark SQL 去计算生成数据,再通过数据接口提供给业务方应用。整个计算过程的几十亿数据大略须要用时 30 分钟左右。引入 StarRocks 后基本上可能秒级返回计算结果,特地是通过 Bitmap 高效去重带来了较大的性能晋升。

在酷魔方数据平台对立接口服务中,应用 StarRocks 做数据存储和计算,在升高了原来的 MySQL 分库分表计划运维老本的同时,还晋升了计算性能。之前采纳基于 MySQL 分库分表的计划,须要安顿一位长期的专职运维,采纳 StarRocks 后,只需在初期测试和性能调优时安顿运维人员即可。在进行千万级别数据的查问时,应用 MySQL 分库分表的查问,性能就会显著变得吃力,到亿级别的数据查问时更是须要分钟级别响应。而在雷同数据体量、应用雷同 SQL 的状况下,StarRocks 根本都能做到毫秒级或秒级响应。

总的来说,StarRocks 不仅撑持了 BI 剖析零碎、对立数据接口服务和画像平台业务等业务剖析要求,也简化了数据处理链路过程,帮忙酷开科技实现了对立极速的剖析引擎。

04

总结与布局

在应用 StarRocks 期间次要有以下几点惊喜体现:

  1. 极速的剖析性能,几十亿的数据量状况下,进行多维分析能够达到秒级别的响应
  2. 准确的数据去重,疾速实现了人群留存计算
  3. 大大降低了运维老本和分析师的 SQL 语法学习老本
  4. 丰盛的数据存储模型能够间接在业务场景中应用

后续心愿 StarRocks 能在酷开科技更多的业务场景中应用,减少更多个性,比方简单的数据结构类型目前反对的 Array ,目前业务数据格式很多时候是 JSON、Map、Struct 类型等。酷开大数据团队也在尝试数据湖剖析场景应用,心愿能推动 StarRocks 在数据湖剖析的利用。

对于 StarRocks

StarRocks 创建两年多来,始终专一打造世界顶级的新一代极速全场景 MPP 数据库,帮忙企业建设“极速对立”的数据分析新范式,助力企业全面数字化经营。

以后曾经帮忙腾讯、携程、顺丰、Airbnb 、滴滴、京东、众安保险等超过 110 家大型用户构建了全新的数据分析能力,生产环境中稳固运行的 StarRocks 服务器数目达数千台。

2021 年 9 月,StarRocks 源代码凋谢,在 Github 上的星数已超过 3000 个。StarRocks 的寰球社区飞速成长,至今已有超百位贡献者,社群用户冲破 5000 人,吸引几十家国内外行业头部企业参加共建。