Druid vs StarRocks 选型对比

1、Druid与StarRocks介绍

近年来,越来越多的企业开始使用数据驱动决策,对数据探索分析的需求进一步提升。随着技术的演进涌,市场现出了各种各样的OLAP引擎,基于不同场景需求,在数据量、性能和灵活性方面进行了不同的取舍。不同的引擎呈现出不同的特点,相应地也有其自己的适用范围。本文对目前比较流行的两款开源引擎Druid和StarRocks进行对比分析。

1.1 Druid介绍

Druid 是广告分析公司MetaMarket研发,专为在海量数据集上做高性能 OLAP而设计的数据存储和分析系统。Druid 支持低延时的数据摄取,灵活的数据探索分析,高性能的数据聚合,简便的水平扩展。Druid支持更大的数据规模,具备一定的预聚合能力,通过倒排索引和位图索引进一步优化查询性能,在广告分析场景、监控报警等时序类应用均有广泛使用。其具有以下特点:

  • 列式存储,分布式的Shared-Nothing架构
  • 支持实时或批量摄入,摄入后可立即查询
  • 自我修复,自我平衡,易于操作
  • 数据存储在Deep Storage中,不会丢失
  • 预聚合,基于时间进行分区,使用Roaring/Concise bitmap索引快速过滤数据
  • 支持近似算法

1.2 StarRocks介绍

StarRocks是新一代极速全场景MPP数据库,用于提供多维分析、实时分析以及Ad hoc查询能力。StarRocks不仅支持高并发低延迟的点查,也支持高吞吐的Ad hoc查询。统一离线与近实时数据摄入,支持预聚合、大宽表、星型以及雪花型建模方式。StarRocks 致力于在全场景 OLAP 业务上为用户提供统一的解决方案,适用于对性能、实时性、并发能力和灵活性有较高要求的各类应用场景。具有以下特点:

  • 列式存储,全面向量化SQL引擎
  • 极简高可用架构,易于运维
  • 标准SQL支持,兼容MySQL协议
  • 支持基于CBO的智能查询优化
  • 实时数据摄入和更新
  • 现代物化视图,智能加速聚合查询
  • 支持联邦查询,异构数据源联合分析

2、Druid与StarRocks对比

Druid和StarRocks同样定位于大数据分析层引擎,存在很多共同点。比如都是列式存储,都支持大数据量的摄入,支持高并发,支持近似算法去重,架构都是自愈、自均衡的等等。但基于不同的设计取舍,二者在数据存储、预聚合、计算框架、易用性以及运维方面存在明显差异。

2.1 数据存储

数据摄入到Druid后,转化成Segments存储在Deep Storage中。生成后只能追加或者基于整段segment进行覆盖或删除,不支持segment部分数据的修改。Druid首先会按照时间列进行分区,也可以根据经常需要过滤的列构建二级分区改进数据本地性,从而减少数据访问时间。另外也可以指定排序维度,改进压缩和查询性能。

在StarRocks中,数据以分区分桶的方式做数据分布。用户可以根据数据以及业务查询的特点,灵活的指定分区分桶列,通过分区列的指定达到灵活的分区裁剪,减少数据访问量,通过对数据合理分桶,充分利用集群并行处理能力。同时,StarRocks为加速查询,在内部组织并存储数据时,会把表中数据按照指定的列进行排序,用户可以选择区分度高、经常查询的列建议放在前面以加速数据查找。Druid的二级分区机制与StarRocks的分桶机制类似,

总体而言,二者存储机制类似,StarRocks一级分区支持DATE、DATETIME、INT等多种类型,相对于Druid只能按照时间分区更加灵活。

在数据更新方面,Druid只能指定时间段删除或者更新,不能进行点删除或者点更新。这对于维度经常变更或者数据存在变化的场景存在一定的局限性。StarRocks除了支持明细数据和聚合数据分析外,还支持数据更新的场景,利用更新模型和主键模型,可以实现按照主键进行 UPDATE/DELETE 操作,满足数据更新的需求。

场景

特点

Druid

StarRocks

明细数据分析

保存和分析原始明细数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ClickHouse和Druid都是用于大数据分析的开源数据存储和查询引擎,但它们有一些不同之处。 首先,ClickHouse是一个列式存储引擎,而Druid是一个行式存储引擎。这意味着ClickHouse更适合于需要高效查询大量列数据的场景,而Druid更适合于需要快速查询大量行数据的场景。 其次,ClickHouse支持SQL查询,而Druid则使用一种称为Druid查询语言(DQL)的查询语言。这意味着ClickHouse更适合于那些熟悉SQL的人,而Druid则需要学习新的查询语言。 最后,ClickHouse更适合于实时查询,而Druid则更适合于离线查询。这是因为ClickHouse具有更快的查询速度和更低的延迟,而Druid则更适合于需要对大量数据进行批处理和离线分析的场景。 总的来说,ClickHouse和Druid都是非常强大的数据存储和查询引擎,但它们的使用场景略有不同,需要根据具体的需求来择。 ### 回答2: ClickHouse和Druid都是流行的开源数据仓库,可以用于大数据分析和数据仓库。这两个系统都有着自己的优缺点,我们将在这里对它们进行一些比较。 1. 数据模 ClickHouse和Druid都是面向列的存储,适用于大量超大数据集合的 OLAP 分析。它们之间的区别在于数据模的实现方式不同。ClickHouse使用较为传统的 RDBMS 表结构,而Druid则采用了更为灵活的面向列族的存储设计,可以根据数据的类、内容、访问模式等自动分割。 2. 索引 除了使用分布式的列存储方式,ClickHouse和Druid在索引方面也存在不同。ClickHouse使用了类似传统 RDBMS 索引的 B-Tree 索引,进行快速的数据过滤和排序,同时支持拼音搜索。(Pinyin Collation) Druid則整体基于内存,采用高效的 Bitmap 索引支持高速数据过滤,采用Sketch存储千万级别的去重数据。而Druid本身使用了非常灵活的索引方式,可以根据不同的元数据建立相应的索引,以达到更好的查询效率。 3. 查询操作 ClickHouse和Druid都支持 SQL 查询,并通过数据压缩和分布式存储来提高查询效率。在处理 OLAP 分析时,ClickHouse使用了类 SQL 的查询方式,允许用户自由组合和迭代查询过滤条件,同时允许用户对一个数据表的多个粒度进行查询。(例如按天、按小时、按分钟) Druid则采用模板式变换查询语法,它可以像SQL一样进行查询,并且可以通过使用DSL来构造非常复杂和高效的查询,以支持对海量数据的实时查询。而且,Druid在优化查询速度时,使用了许多非常有创意的方法,例如在查询过程中进行数据块切割、排序和过滤等操作,以保证最快速和最优秀的查询效率。 4. 数据源和数据处理 ClickHouse的数据导入通常使用二进制(例如 Kafka 或支持二进制文件格式的工具)或 CSV 文件,可以节省时间和空间。而Druid则支持诸如Kafka和Hadoop之类的开源工具,可以进行大量的异构数据导入和处理,同时它也能够管理支持异构数据的Hadoop集群。 5. 性能和可扩展性 ClickHouse和Druid都被证明在处理大量的数据时具有很高的性能和可扩展性。ClickHouse的优势在于它可以轻松地支持每秒处理数百万个请求,而Druid在能够快速在大规模数据资讯中寻找特定数据方面是非常强大的。不过,点击式(click)或搜索式(search)查询相比,Druid表现更优秀一点。 综上所述,ClickHouse和Druid都是流行的数据仓库系统,并且在 OLAP 分析方面均有很高的性能和可扩展性。虽然这两个系统各自的设计和实现方法有所不同,但都能够提供大量的特性,以满足各种大数据处理的需求。因此择哪个系统要看实际问题和场景,用更加适用的数据仓库系统,有助于更好的服务用户需求。 ### 回答3: ClickHouse和Druid是两种数据存储和分析工具,它们都具有高性能,高可扩展性和开源软件的特点,但是它们的适用场景有所不同。 ClickHouse是由俄罗斯的一个公司开发的,主要用于快速查询和分析大数据集。它使用列式存储,可以支持百万级别的数据,并且在高并发下能够提供快速的响应速度。ClickHouse可以快速响应OLAP(联机分析处理)的需求,例如复杂的查询,聚合,分组等操作。ClickHouse还支持SQL,并且可以进行实时的数据插入和更新。 Druid是由美国一家公司开发的,主要用于实时数据分析和查询。Druid将数据存储在多层次的存储引擎中,并支持高并发的OLAP查询。它可以处理千万级别的数据,可以支持复杂的聚合和过滤操作,并且可以支持实时的数据流式插入。Druid还支持自定义的数据处理管道,并且可以扩展多种数据源,例如Hadoop和Kafka等。 ClickHouse和Druid的区别在于适用场景和数据结构。ClickHouse更适合于批量处理和分析大量静态数据,例如电信,金融和互联网领域的数据仓库,可以快速响应各种类的查询和分析需求。而Druid更适合于分析实时数据流,例如在线广告,网络监控和游戏分析等领域,可以在毫秒级别内响应高并发的查询和分析请求。 总的来说,ClickHouse和Druid都是高性能,高扩展性和开源的数据分析工具,但是它们的适用场景有所不同。根据具体的应用场景和需求,可以择合适的工具来处理数据分析和查询的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值