首页
学习
活动
专区
圈层
工具
发布

从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效

广告系统:通过使用 Doris 替换 Druid,P99 查询耗时控制在 2 秒内,(原先使用 Druid 查询 7 天内数据耗时尚可,但查询超过 7 天的数据会超时)。...使用 Doris 替换了 Kylin、Druid、Clickhouse、Elasticsearch、HBase 多个引擎,Doris 统一提供查询及分析服务。...在对 Druid 和 Doris 做了深入调研和对评测后,网易云音乐决定使用 Doris 替换 Druid ,基于 Doris 构建新一代广告实时数仓,以支持驾驶舱、A/B 测试、自助 BI、内部报表以及面向广告主的高并发分析服务...Apache Doris vs Apache Druid引入 Doris 后的架构如下图所示。...之前使用 Druid 导入 Hive 单表 30 亿行数据时,导入时间通常需要 7-8 小时,甚至 11-12 小时,使用 Doris 已缩短至 3~4 小时,提升 3 倍。

42710

Apache Doris 在有赞的初步尝试

兼容性 由于我们第一阶段的目标是将Doris替换Apache Druid,因此我们基于Druid场景做了一些兼容性测试。...然后由一个Kafka消费者消费上Druid的请求,做SQL改写,将Druid SQL转换为Doris的查询语句发往Doris进行流量回放。 ‍...有一些Druid Function 的函数的参数入参含义、个数,都和Apache Doris有较大不同,这导致SQL改写的过程繁琐一些,但这对于平台型的服务团队通常是不得不做的过程。...后续计划 至于后续的计划,我们的目标是视资源情况推进Doris在有赞落地,尽量将ClickHouse、Druid的技术栈收敛为Apache Doris,解决前面提到的问题,同时也做技术栈的收敛、迭代。...当然这还有一些工作要做,包括兼容性测试、性能测试,确保业务上Doris与ClickHouse、Druid有相当的体验,为此我们也在尝试一些手写SIMD优化关键执行代码,希望最终能够借助Apache Doris

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    日增百亿数据,查询结果秒出, Apache Doris 在 360商业化的统一 OLAP 应用实践

    + Druid + TIDB 的模式 以及 Flink + Doris 的模式,基于 Apache Doris 的新一代架构的成功落地使得 360 商业化团队完成了实时数仓在 OLAP 引擎上的统一,...实时数仓演进 为提升各场景下数据服务的效率,助力相关业务团队更好推进商业化增长,截至目前实时数仓共经历了三种模式的演进,分别是 Storm + Druid + MySQL 模式、Flink + Druid...第一代架构 该阶段的实时数仓是基于 Storm + Druid + MySQL 来构建的,Storm 为实时处理引擎,数据经 Storm 处理后,将数据写入 Druid ,利用 Druid 的预聚合能力对写入数据进行聚合...,我们只能利用 MySQL 定时任务的方式将数据定时从 Druid 写入 MySQL 中(类似于将 MySQL 作为 Druid 的物化视图),再通过 Druid + MySQL 的模式对外提供服务。...在升级完成后,我们按照不同业务场景的需求,将 Flink 处理完的数据分别写入 Druid 和 TiDB ,由 Druid 和 TIDB 对外提供数据查询服务。

    89410

    大数据OLAP系统比较

    预计算空间换时间 Apache Kylin Apache Doris Mondrian 从所有的系统中选出相对符合的再进行深入一点的比较如下: Clickhouse Druid Apache Kylin...不支持primary key sorting,支持inverted indexes 通过编写 Json 文件,以 HTTP 的方式请求 Druid 支持sql 国内使用Druid比较多,有赞,美团等...incubator-pinot/ 架构概述:https://pinot.readthedocs.io/en/latest/architecture.html 2323 star 活跃 国内使用Pinot的比较少 Apache Doris...Doris前身是Palo,Palo是百度自研的基于MPP的交互式SQL数据仓库 架构概述:https://doris.incubator.apache.org/Docs/cn/internal/metadata-design.html...#id3 项目地址:https://github.com/apache/incubator-doris 1294 star 活跃 C++ 来源百度 国内使用Pinot的比较少 Apache Kylin

    3.5K22

    大厂选妃记:6位OLAP数据分析引擎,谁才是真爱?

    今天我们就来看看这场激烈竞争中的6位"佳丽"——Doris、ClickHouse、Druid、Presto、Impala和Kylin,到底谁能笑到最后?...Druid:实时流处理的舞者 Druid则是个身姿曼妙的舞者,专门为实时数据流而生。 它能够实时摄取数据并提供低延迟查询,在流式数据处理方面确实有两把刷子。 优势在于实时性强,查询响应快。...就像维持完美身材需要严格自律一样,想要发挥Druid的最佳性能,运维成本不容小觑。 Presto:多面手的全能选手 Presto就是那种什么都会一点的全能型选手。...Doris:新生代的王者风范 在这场激烈的竞争中,Apache Doris就像个后来居上的新星,迅速获得了大厂们的青睐。 Why? 简单易用,上手就能干活 Doris最大的杀手锏就是简单。...Druid在实时流处理方面有独特优势。Presto在多数据源整合方面表现出色。Impala是Hadoop生态的最佳伙伴。Kylin在固定查询模式下效率很高。

    27711

    从 Clickhouse 到 Apache Doris:有赞业务场景下性能测试与迁移验证

    Apache Druid: 针对 B 端商家实时分析报表场景,基于 Druid 构建维度查询系统,为商家提供实时指标查询服务。...02 Apache Druid :数据修复处理难度大 数据修复难度大: 当出现 Apache Flink 自身容错导致数据重复的情况,Druid 完全依赖写入侧进行幂等操作,由于自身不支持数据更新或删除...数据一致性问题: 对于 Druid 而言,导入数据后需要构建完 Segment 才能响应查询结果。...对于收益而言,我们需要评估新架构引入后的性能是否如预期提升,将 Apache Doris 分别与 Clickhouse、Druid、Kylin 进行对比评估。...后续在逐步完成 Clickhouse 的业务迁移后,基于 Clickhouse 的迁移经验,对未迁移的存量业务逐步完成 Druid、Kylin 两个组件的迁移,最终基于 Apache Doris 构建极速分析

    2.1K71

    小米数据平台大改造:一年省下巨额成本,性能提升6倍的秘密

    数据存了一遍又一遍 为了满足不同业务需求,小米不得不把同一份数据存储在多个系统里: Iceberg 放历史数据 Paimon 做流批处理 Druid 跑实时分析 Doris 做交互查询 结果就是数据到处都是...引擎多到运维崩溃 计算引擎更是一大堆:Presto 负责离线查询,Druid 做实时 OLAP,Doris 搞交互分析,Spark 跑批处理。 每个引擎都有自己的监控体系、权限管理、数据建模逻辑。...修好了 Presto,Druid 又出问题;搞定了 Druid,Doris 又开始报警。...业务同学也很无奈 数据分析师想做个简单的用户行为分析,得先搞清楚: 实时数据在 Druid 里 历史数据要用 Presto 查 复杂计算得上 Spark 临时查询找 Doris 学会这套组合拳,起码要半年时间...Apache Doris 查询性能强悍,毫秒级响应,高并发支持好,但存储成本高,扩展性有限。 小米的想法很简单:让 Paimon 负责存储,Doris 负责计算,两者深度融合。

    30610

    当 Apache Doris 遇见 Paimon ,直接让小米集团 6 倍性能飞跃

    得用Druid。 需要处理海量T+1数据?Presto+Iceberg走起。 要做批量查询分析?Spark上场 ......Apache Doris + Paimon 在小米的三次"深度对话" 小米的解决方案并不是简单地把两个优秀的Apache开源项目放在一起,而是进行了深度的架构重构: 计算引擎:Presto、Druid、...Doris、Spark -> Doris、Spark 存储格式:Iceberg、Paimon、Doris、Druid -> Doris、Paimon Apache Paimon作为数据湖的代表,擅长的是海量数据的低成本存储和多引擎兼容...小米的解决方案颇具创新性:他们让Doris直接"越过"Paimon的SDK,用自己的原生Parquet Reader直接读取数据文件,然后利用Doris强大的分布式Hash算子进行聚合计算(无需排序步骤...Apache Doris + Paimon的融合,为整个行业提供了一个可参考的湖仓一体企业实践范本。

    35510

    Druid介绍

    文章来源:Druid介绍 · ApacheDruid中文技术文档Druid是什么Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。...Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据...大规模并行处理,Druid可以在整个集群中并行处理查询。实时或批量摄取,Druid可以实时(已经被摄取的数据可立即用于查询)或批量摄取数据。...如果任何一台Druid服务器发生故障,系统将自动绕过损坏。 Druid设计为7*24全天候运行,无需出于任何原因而导致计划内停机,包括配置更改和软件更新。...什么场景下应该使用Druid许多公司都已经将Druid应用于多种不同的应用场景,详情可查看Powered by Apache Druid页面。

    61510

    大数据Doris(一):Doris概述篇

    ​Doris概述篇一、前言Doris由百度大数据部研发,之前叫百度Palo,于2017年开源,2018年贡献到 Apache 社区后,更名为Doris。...二、​​​​​​​Doris简介Apache Doris是一个现代化的基于MPP(大规模并行处理)技术的分析型数据库产品。...目前Doris最新版本已经支持Bitmap算法,配合预计算可以很好地解决去重应用场景。...总结:数据压缩率Clickhouse好ClickHouse单表查询性能优势巨大Join查询两者各有优劣,数据量小情况下Clickhouse好,数据量大Doris好Doris对SQL支持情况要好六、​​​​​​​​​​​​​​...使用场景上图是整个Doris的具体使用场景,主要是它的接收数据源,以及它的一个整体的模块,还有最后它的一个可视化的呈现。

    35.8K310

    湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃

    湖仓架构长期存在如下“繁杂、割裂”的结构问题:存储多源异构,数据重复堆叠:为满足不同业务对数据的不同时效性需求,需要按照分钟、小时、天级别的时效性要求,将数据存储在不同的数据系统中(Iceberg、Paimon、Druid...、Doris),导致数据冗余、不一致等问题湖仓割裂,缺乏统一接口:需要同时使用不同的引擎进行数据查询,(如 Presto、Druid、Doris、Spark 等)。...统一计算引擎:Apache Doris + Spark:采用 Doris + Spark 的计算引擎组合。Doris 负责实时数据和交互式数据分析,以及高并发查询场景。Spark 负责离线批处理场景。...通过这一架构转型,极大地简化了系统架构:计算引擎:Presto、Druid、Doris、Spark -> Doris、Spark存储格式:Iceberg、Paimon、Doris、Druid -> Doris...针对原先 Doris 读取 Paimon 聚合表性能不足的问题,小米采用了将文件合并与排序逻辑 “上移” 至 Doris 的查询引擎的方案,利用 Doris 的分布式并行计算与向量化执行能力,替代 Paimon

    56210

    大数据Apache Druid(六):Druid流式数据加载

    ​Druid流式数据加载一、​​​​​​​Druid与Kafka整合1、​​​​​​​使用webui加载Kafka数据Druid也可以与Kafka整合,直接读取Kafka中某个topic的数据在Druid...Druid主页http://node5:8888,点击“Load data”标签:填写Kafka Server、Topic、点击“Parse data”:2、​​​​​​​​​​​​​​查询Druid中的数据点击...“Query”编写SQL ,查询DataSource “druid-topic”数据如下:向Kafka topic druid-topic中继续写入如下数据:{"data_dt":"2021-07-01T08...:4、​​​​​​​​​​​​​​使用post方式加载Kafka数据由于前面已经使用Druid加载过当前Kafka“druid-topic”topic的数据,当停止Druid supervisors 中实时读取...datasource名称读取相同的Kafka topic时,会获取到该位置的offset信息,所以为了能从头消费Kafka中的数据,我们可以将mysql中“druid.druid_datasource”

    66951

    Druid源码阅读(二):Druid Segment存储格式

    一、Druid Segment介绍 Druid流数据摄入后会以Index形式保存在内存中,同时会定期将Index序列化成Segment文件持久化到可靠存储中(如HDFS),批数据摄入会直接通过离线任务生成...本节先对照Druid官方文档中对Segment的描述[1],介绍下Druid Segment,然后在下一节以一个测试Segment为例,并结合Druid源码,详细说明Druid是如何存储数据的。...Druid使用Segment时会以多级缓存的方式使用,除了可靠存储中有Segment,Druid还会在内存中以及服务机器硬盘上加载Segment作为缓存。...二、Druid Segment文件解析 本节会以测试的一个Segment文件为例,具体解析Druid Segment文件中的信息。...image.png 三、总结与展望 通过本文的介绍,相信读者对Druid Segment中存储的信息以及Druid支持的数据类型有所了解。

    3.8K1611
    领券