clickhouse、Doris、Kylin对比

clickhouse

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,是基于 MPP 架构的分布式 ROLAP (Relational OLAP)分析引擎主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告,可以支持任意指标、任意维度并秒级给出反馈。最大的特色是高性能的向量化执行引擎,而且功能丰富、可靠性高。

OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;

OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。

特点

列式存储、多样化引擎、高吞吐写入能力

使用MergeTree基于分区、索引,在查询时候缩小数据范围。

ClickHouse 之所以如此快,是因为它在设计和实现时采用了多种技术和优化策略:

1.列式存储:ClickHouse采用列式存储,这种方式可以提高数据压缩比,减少I/O访问,从而加速查询速度

2.数据分区:ClickHouse支持将数据分成不同的分区,可以减少数据扫描的范围,提高查询速度

3.数据本地化:ClickHouse可以将数据存储在本地磁盘上,避免了数据网络传输的开销

4.数据压缩:ClickHouse支持多种数据压缩算法,可以降低磁盘I/O访问和网络传输的数据量

5.向量化计算:ClickHouse使用SIMD指令集和CPU缓存来实现向量化计算,这样可以在处理大数据集时提高计算速度

6.并行查询:ClickHouse支持并行查询,可以将一个查询分成多个子查询,同时执行,从而加速查询速度

7.多级缓存:ClickHouse支持多级缓存,可以将热数据存储在内存中,减少磁盘I/O访问

综上所述,ClickHouse采用多种优化技术,如列式存储、数据分区、数据本地化、数据压缩、向量化计算、并行查询和多级缓存等,使得它具有出色的查询性能和扩展性

Doris

Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

MPP 即 Massively Parallel Processing,大规模并行处理,即海量数据并发查询.

也是列式存储的

Doris 数据模型的一个显著特点是 Key 列全局唯一,因此存在相同 Key 值的不同 Value。Join性能更好。

clickhouse更优的方面

性能更佳,导入性能和单表查询性能更好,同时可靠性更好

功能丰富,非常多的表引擎,更多类型和函数支持,更好的聚合函数以及庞大的优化参数选项

集群管理工具更多,更好多租户和配额管理,灵活的集群管理,方便的集群间迁移工具

Doris更优的方面

使用更简单,如建表更简单,SQL标准支持更好, Join性能更好,导数功能更强大

运维更简单,如灵活的扩缩容能力,故障节点自动恢复,社区提供的支持更好

分布式更强,支持事务和幂等性导数,物化视图自动聚合,查询自动路由,全面元数据管理

那么两者之间如何选择呢?

业务场景复杂数据规模巨大,希望投入研发力量做定制开发,选ClickHouse

希望一站式的分析解决方案,少量投入研发资源,选择Doris

另外, Doris源自在线广告系统,偏交易系统数据分析;ClickHouse起源于网站流量分析服务,偏互联网数据分析,但是这两类场景这两个引擎都可以覆盖。如果说两者不那么强的地方,ClickHouse的问题是使用门槛高、运维成本高和分布式能力太弱,需要较多的定制化和较深的技术实力,Doris的问题是性能差一些可靠性差一些,下面就深入分析两者的差异。

kylin

Kylin 是基于 Hadoop 的 MOLAP (Multi-dimensional OLAP) 技术,核心技术是 OLAP Cube;与传统 MOLAP 技术不同,Kylin 运行在 Hadoop 这个功能强大、扩展性强的平台上,从而可以支持海量 (TB到PB) 的数据;它将预计算(通过 MapReduce 或 Spark 执行)好的多维 Cube 导入到 HBase 这个低延迟的分布式数据库中,从而可以实现亚秒级的查询响应;最近的 Kylin 4 开始使用 Spark + Parquet 来替换 HBase,从而进一步简化架构。由于大量的聚合计算在离线任务(Cube 构建)过程中已经完成,所以执行 SQL 查询时,它不需要再访问原始数据,而是直接利用索引结合聚合结果再二次计算,性能比访问原始数据高百倍甚至千倍;由于 CPU 使用率低,它可以支持较高的并发量,尤其适合自助分析、固定报表等多用户、交互式分析的场景。

优势场景方面:ClickHouse 通常适合几亿~几十亿量级的灵活查询(更多量级也支持只是集群运维难度会加大)。Kylin 则更适合几十亿~百亿以上的相对固定的查询场景。

ROLAP 与 MOLAP 与 HOLAP 之间的区别

ROLAP 与 MOLAP 与 HOLAP 是表示逻辑数据模型的数据仓库的相关术语。

ROLAP 是指关系数据的关系在线分析处理。

MOLAP 被称为多维在线分析处理,它通过多个数据维度来实现,特点是数据立方体。

HOLAP 被称为混合在线分析处理,适用于 ROLAP 和 MOLAP 概念。

数据仓库中的数据存储和数据安排、设计的视图访问取决于 OLAP 实现的类型。ROLAP SQL 是查询技术,而 MOLAP 使用稀疏矩阵,而 HOLAP 使用 SQL 和稀疏矩阵技术。

相关推荐
缘华工业智维30 分钟前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn
更深兼春远33 分钟前
spark+scala安装部署
大数据·spark·scala
阿里云大数据AI技术1 小时前
ODPS 十五周年实录 | 为 AI 而生的数据平台
大数据·数据分析·开源
哈哈很哈哈3 小时前
Spark 运行流程核心组件(三)任务执行
大数据·分布式·spark
我星期八休息4 小时前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
最初的↘那颗心5 小时前
Flink Stream API - 源码开发需求描述
java·大数据·hadoop·flink·实时计算
白鲸开源5 小时前
收藏!史上最全 Apache SeaTunnel Source 连接器盘点 (2025版),一篇通晓数据集成生态
大数据·数据库·开源
爱疯生活5 小时前
车e估牵头正式启动乘用车金融价值评估师编制
大数据·人工智能·金融
Lx3526 小时前
MapReduce作业调试技巧:从本地测试到集群运行
大数据·hadoop
计算机程序员小杨6 小时前
计算机专业的你懂的:大数据毕设就选贵州茅台股票分析系统准没错|计算机毕业设计|数据可视化|数据分析
java·大数据