小红书基于DorisDB实现数据服务平台统一化,简化数据链路

 头条123   2025-05-18 06:56   1847 人阅读  0 条评论
小红书基于DorisDB实现数据服务平台统一化,简化数据链路

  小红书是年轻人的生活记录、 平台,用户可以通过短视频、图文等形式记录生活点滴, 生活方式。在2017年后,随着业务类型和用户体量的 式增长,各类数据分析的需求以及应用系统的数据需求快速出现,例如:商业智能分析,数据应用报表,用户行为分析、算法策略数据等。小红书大数据团队逐步引入了多种OLAP分析引擎来更好的满足需求。DorisDB采用了全面向量化的计算技术,是性能非常强悍的新一代MPP数据库。通过引入DorisDB,小红书构建了全新的统一数据服务平台,大大降低了数据链路开发复杂性,提升了高并发极速查询能力。

    一、OLAP引擎在小红书的演进史

   一阶段,在2017年之前,数据总量还不是特别大,这个阶段使用AWS的Redshift,此时数仓体系还没有完全建立,很多数据需求的实现都是用短平快、烟囱式开发的方式来满足。数据ETL、数仓模型到 后报表端展现,在Redshift中一站式完成。

  但随着业务复杂度不断提升,以及数据量的快速增长,这种模式很快遇到了瓶颈。主要有以下问题:

  ·Redshift无法在不影响线上查询性能的前提下弹性扩展,一旦涉及到扩容,就会涉及到数据重分布,从而影响集群的性能以及可用性。

  ·ETL任务严重影响集群可用性。在Redshift中同时进行ETL任务的时候,会大量抢占资源,从而影响数据分析的效率,导致查询超时甚至因为集群负载过大后整个集群崩溃不可用。

  ·没有良好的存算分离,数据存储容量存在瓶颈,无法满足随业务而快速增长的数据量存储需求。

   二阶段,随着数据仓库在Hadoop/Hive体系上搭建和完善,ETL任务全部转移至Hadoop集群,这个阶段使用Presto完成OLAP分析。Presto天然和Hive共享元数据信息,且共同使用物理数据存储,即插即用。大量的对数仓表的灵活查询使用Presto完成。

   三阶段,业务实时性增强,对查询性能的要求不断升高,同时许多数据应用产生。这个阶段引入了ClickHouse,用来建设性能更强悍,响应时间更短的数据分析平台以满足实时性要求。

   四阶段,小红书大数据团队进行了实时数仓的整体设计和搭建,同时为统一对各业务团队提供数据接口而构建了数据服务平台,外接了多个内部或者To B服务的应用系统。既需要做低延时的复杂查询,同时对并发量也有很高的要求。这个阶段我们又根据场景引入了DorisDB,以满足以上各类需求。

    二、小红书数据分析体系架构

    1、小红书OLAP体系现状

  小红书的整个数据分析体系,由数据采集、数据存储加工/数据共享和应用层组成。

    1)数据采集

  服务器日志或者App日志通过Flume收集埋点日志,数据同时分发到离线存储S3和实时存储kafka;线上业务数据库通过Canal实时采集MySQL binlog等信息。

    2)数据存储加工

  离线数据处理:利用Hive/Spark高可扩展的批处理能力承担所有的离线数仓的ETL和数据模型加工的工作。

  实时数据处理:Flink完成实时侧数据的ETL(包括维度丰富,双流Join,实时汇总);离线表通过调度平台同步到ClickHouse/DorisDB,Flink实现了ClickHouse和DorisDB的sink connector,落地到DorisDB或ClickHouse。

    3)数据共享

  数据共享层的主要提供对外服务的底层数据存储,离线或者实时的数据写入相关的数据库组件中,面向多种服务,不同场景提供查询能力。

  数据共享层主要有TiDB/Hbase/ClickHouse/DorisDB。通过DorisDB和ClickHouse提供的高速OLAP查询能力,在应用侧承接了报表平台,提供即席分析的平台,对开发侧提供数据接口,以及实现多个数据产品(比如流量分析平台,用户标签平台)。

    4)应用层

  应用层主要为面向管理和运营人员的报表,具有并发、延迟、需求更新频繁等要求,面向数据分析师的即席查询,要求支持复杂sql处理、海量数据查询等能力。

    2、各OLAP分析工具选型比较

  #FormatImgID_1#

    1)Clickhouse:

  优点:

  ·很强的单表查询性能,适合基于大宽表的灵活即席查询。

  ·包含丰富的MergeTree Family,支持预聚合。

  ·非常适合大规模日志明细数据写入分析。

  缺点:

  ·不支持真正的删除与更新。

  ·Join方式不是很友好。

  ·并发能力比较低。

  ·MergeTree合并不完全。

    2)DorisDB:

  优点:

  ·单表查询和多表查询性能都很强,可以同时较好支持宽表查询场景和复杂多表查询。

  支持高并发查询。

  ·支持实时数据微批ETL处理。

  ·流式和批量数据写入都能都比较强。

  ·兼容MySQL协议和标准SQL。

  缺点:

  ·周边生态比较不完善。

  ·部分SQL语法不支持。

    3)TiDB/TiFlash:

  优点:

  ·支持更新/删除。

  ·兼顾了OLTP的需求。

  ·支持Flink ExactlyOnce语意,支持幂等。

  缺点:

  ·查询性能弱,无法较好支持OLAP查询场景。

  ·不支持实时预聚合。

  ·TiFlash暂时不支持所有的SQL写法以及函数。

    三、DorisDB在广告数据中心的应用实践

    1、业务场景概述

本文地址:https://www.toutiao123.net/news/9397.html
版权声明:本文为原创文章,版权归 头条123 所有,欢迎 本文,转载请保留出处!
 相关文章  关键词:小红 基于 DorisDB 实现 数据