首页 > 其他分享 >Elasticsearch与Clickhouse的对比分析

Elasticsearch与Clickhouse的对比分析

时间:2024-04-04 21:11:40浏览次数:37  
标签:分析 Clickhouse 查询 Elasticsearch ES 日志 对比 ClickHouse

ClickHouse 和 Elasticsearch 是两种不同的数据存储和分析工具,各自在不同的用例和场景下发挥着作用。

  1. 数据类型:

    • ClickHouse:主要用于结构化数据,特别擅长处理大规模的数据仓库和分析场景,支持 SQL 查询。
    • Elasticsearch:适用于非结构化或半结构化数据,特别擅长全文搜索和日志分析,支持文本分析、全文搜索和地理位置查询等。
  2. 查询语言:

    • ClickHouse:支持标准的 SQL 查询语言。
    • Elasticsearch:使用自己的查询语言 DSL(Domain Specific Language),也支持基于 JSON 的查询。
  3. 分布式能力:

    • ClickHouse:设计用于处理大规模数据,支持水平扩展。
    • Elasticsearch:同样支持水平扩展,并且具有强大的分布式搜索和分析能力。
  4. 索引:

    • ClickHouse:使用列式存储,通常情况下需要提前定义表结构。
    • Elasticsearch:使用倒排索引,对文本搜索和分析非常有效,并且不需要提前定义模式。
  5. 数据更新:

    • ClickHouse:主要用于批量加载和批量查询,不太适合频繁的数据更新操作。
    • Elasticsearch:支持实时索引,可以实时索引、搜索和查询数据。
  6. 用例:

    • ClickHouse:适用于大规模数据分析、OLAP(联机分析处理)场景,比如数据仓库、报表分析等。
    • Elasticsearch:适用于全文搜索、日志分析、实时监控等实时数据处理场景。
  7. 复杂性:

    • ClickHouse:相对于 Elasticsearch,更偏向于传统的数据仓库和分析,相对较复杂。
    • Elasticsearch:更加灵活,但在大规模数据仓库和复杂 SQL 查询方面可能稍显不足。

核心点对比:

字段类型对比:

 

参考的文章:

1、一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹?

主要对比了CH和ES的设计原理上的区别,做了一些查询性能对比。

 

2、为什么我们要从ES迁移到ClickHouse?

携程日志系统治理演进之路

携程的日志系统从ES迁移到ClickHouse的经历,主要核心点:

1)ClickHouse比ES硬件成本低:相同数据占用的磁盘空间只有ES的 1/3 到 1/30。

2)ClickHouse比ES读写性能更好:ClickHouse 的查询速度比ES快 5-30 倍以上。

 

3、Fast and Reliable Schema-Agnostic Log Analytics Platform

Uber的日志系统从ES迁移到ClickHouse的过程(使用ReplicatedMergeTree Table):

1)常用字段作为“固定字段”。

2)通过array类型解决“动态字段”的问题,查询速度比普通字段稍慢。

3)通过保存的字段信息构造SQL查询。

4)分析字段的使用情况,将常用的“动态字段”变更为“固定字段”,提升性能。

5)对上层应用(Kibana dashboards)做了透明迁移,上层无感知。

效果:

1)硬件资源消耗减少一半以上。

2)数据写入延迟1分钟以内。

3)查询性能比ES强。

 

4、Handling Variable Time Series Efficiently in ClickHouse

在ClickHouse中处理时序指标时,对于变化的“指标字段”,对比了几种建表方式在数据压缩率和性能方面的差异。

 

5、B站基于Clickhouse的下一代日志体系建设实践

介绍了B站基于Clickhouse的日志存储经验。

 

6、滴滴基于 Clickhouse 构建新一代日志存储系统

主要介绍滴滴日志检索场景从 ES 迁移到 CK 的技术探索。

 

小结:

1、ClickHouse资源消耗比ES低,读写性能比ES强。

2、“动态字段问题”ClickHouse可以通过array或者map、nested类型来解决。

3、ES在集群管理上比ClickHouse简单,ClickHouse的表在集群模式下使用ReplicatedMergeTree和Distributed引擎,集群搭建和运维比ES复杂。

4、ClickHouse生态没有ES完善。

5、ES对全文检索的支持比ClickHouse好。

6、ES对数据更新的支持比ClickHouse好。

 

参考:

https://eng.uber.com/logging/

https://pixeljets.com/blog/clickhouse-vs-elasticsearch/

ClickHouse高可用集群的安装与部署

ClickHouse复制表、分布式表机制与使用方法

ClickHouse Better Practices

 

标签:分析,Clickhouse,查询,Elasticsearch,ES,日志,对比,ClickHouse
From: https://www.cnblogs.com/luxiaoxun/p/18114604

相关文章

  • golang和Java的简单介绍和对比
    一、golang1、Golang简介Golang,也称为Go,是由Google公司在2009年推出的开源编程语言,由罗伯特·格瑞史莫(RobPike)、肯·汤普逊(KenThompson)、罗勃·派克(RobertGriesemer)等人设计。Go语言的目标是在保持简单高效的编程模型的同时,更好地支持现代软件开发的需求,如网络编程......
  • 酷睿i7 14650HX和i7 13700hx选哪个 i714650HX和i713700hx对比
    i713700hx采用10nm工艺16个核和24个线程,基本的频率为2.1GHZ,甚至可以提升到4.96ghz。三级缓存55MB热设计功耗(TDP)55W支持最大内存128GB内存类型DDR43200MHzDDR54800MHz集成显卡IntelUHDGraphics选i713700hx还是i714650HX这些点很重要看过你就懂了http://ww......
  • 酷睿i7 14650HX和i7 12700h选哪个 i714650HX和12700h对比
    i7-12700H采用6大核8小核设计,拥有14核心20线程,主频为2.7GHz,睿频为4.6GHz,三级缓存高达24MB选i712700h还是i714650HX这些点很重要看过你就懂了http://www.adiannao.cn/dyi714650HX采用7nm工艺16个核和24个线程,基本的频率为2.2GHZ,甚至可以提升到5.2ghz。三级缓存30MB热设......
  • 酷睿i7 14650HX和R9 7945HX选哪个 酷睿i714650HX和锐龙R97945HX对比
    R97945HX采用Zen4架构,16核心32线程设计,基础频率2.5GHz,加速频率5.4GHz,二级缓存16MB,三级缓存64MB,默认TDP为55W。核显为Radeon610M,配备2个CU,共计128个流处理器,基础频率400MHz,加速频率2200MHz。选R97945HX还是i714650HX这些点很重要看过你就懂了http://www.adiannao.cn/dy......
  • R9 7940HX和i7 14650HX选哪个 锐龙R97940HX和酷睿i714650HX对比
    R97940HX采用了Zen4架构,5nm制作工艺8核16线程,主频2.4GHz,最高睿频5.2GHz 三级缓存 64MB功耗55w选R97940HX还是i714650HX这些点很重要看过你就懂了http://www.adiannao.cn/dyi714650HX采用7nm工艺16个核和24个线程,基本的频率为2.2GHZ,甚至可以提升到5.2ghz。三......
  • 执行计划中的NestLoop对比HashJoin对比
    执行计划中的nestloopjoin对比hashjoin两种join方式的定义NESTELOOP:在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行。两个概念:驱动表(外部表)和内部表,这里用表这个次其实不是很准确,外部表和内部表可以是某张表的结果集。在执行计划中如何区......
  • ClickHouse深度解析 一般有用 看1 速
    一、什么是ClickHouse?ClickHouse由俄罗斯第一大搜索引擎Yandex于2016年6月发布,开发语言为C++,ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK,与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,查询性能非常好,使用之后会被它的性能折服,非常值......
  • Spring Data Elasticsearch String类型不指定filed 索引创建情况
    对于String类型的字段如果不指定类型会默认创建两种倒排索引       "itemSkuCodes":{         "type":"text",         "fields":{           "keyword":{             "type":"keyword",           ......
  • 精挑细选:哪款PLM软件最适合您的企业?全面对比10大热门产品
    20款产品生命周期管理(PLM)软件包括:1.PingCode;2.Worktile;3.Productboard;4.Propel;5.ArasPLM;6.CentricRetAIlPLM;7.SiemensTeamcenter;8.BambooRose;9.AndromedaPLMbyNGC;10.ClickUp。产品生命周期管理(PLM)软件是支持产品开发和管理过程的工具。它提供一个数字平台,供......
  • windows环境下elasticsearch安装教程(超详细)
     一、安装jdkElasticSearch是基于lucence开发的,也就是运行需要javajdk支持。所以要先安装JAVA环境。由于ElasticSearch5.x往后依赖于JDK1.8的,所以现在我们下载JDK1.8或者更高版本。下载JDK1.8,下载完成后安装。二、安装ElasticSearch1.ElasticSearch下载地址:https:/......