ES 和 clickhouse 对比选型

简介: clickhouse 是列式存储所以无法进行全文检索,所以更适合数据分析的需求。elasticsearch更适合高并发并且查询返回结果较少的全文检索,如搜索引擎。

分布式结构

clickhouse是multi-master结构,即所有节点均是数据操作节点,每个节点均知道所有的数据片存放的节点

ES是master-slave 结构,分master节点和数据节点,数据meta信息存放于master节点

数据结构

clickhouse是列式存储并且是有序的,ES采用倒排索引的数据结构。

clickhouse没有二级索引(阿里云上的clickhouse完事了二级索引),ES提供二级索引

写入实时性

clickhouse直接写入磁盘并且只需要完成一个数据分区的写入即返回成功,后续通过异步写入其他备份分区,所以效率较高。

ES 先写入内存,然后写TransLog(每隔30分钟才刷入磁盘-可设定)。ES必须穿透性写入所有内存副本才会返回成功,所以会牺牲实时性

高并发效率

高并发效率一般以吞吐能力作为判断标准。 clickhouse一个查询都会占用一半的CPU,ES直接查询内存,所以ES的高并发处理能力更好(阿里云的clickhouse完善了二级索引从而降低了IO吞吐压力所以在高并发效率和ES旗鼓相当)。由于ES是预热数据到内存,当查询返回数据量大的时候由于产生大量的IO,反而ES处理能力会急剧下降,clickhouse并行扫描数据分片所以无论扫描多少数据块耗时都是一样的。

单并发效率

单并发效率一般以响应时间作为判断标准(即扫描效率)。

ES先查询二级索引,然后再扫描一级索引(数据和一级索引是同一个B+树节点,所有无需再次查询数据),所有ES一次查询经过2次数据扫描。

clickhouse采用的是列式存储(列存储的数据因为数据的相似度更高所以压缩比更高,IO吞吐压力相对较低)并使用SIMD实现向量化(列式存储才支持向量化查询)执行(离CPU越近访问越快)

由于clickhouse的扫描能力更加出色,所以clickhouse的单并发比ES更加出色。

计算能力

ES是汇合制模式,即各节查询top数据然后合并到查询节点再次进行top排序,由于不具备流式计算能力当返回数据量非常大的时候容易产生GC或者把节点跑死。

clickhouse利用C++写的向量化计算 加上 借住SIMD计算能力,使得查询聚合操作发挥极高的效率。

技术选型

clickhouse 是列式存储所以无法进行全文检索,所以更适合数据分析的需求。

elasticsearch更适合高并发并且查询返回结果较少的全文检索,如搜索引擎。

目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
17天前
|
SQL Unix OLAP
ClickHouse安装教程:开启你的列式数据库之旅
ClickHouse 是一个高性能的列式数据库管理系统,适用于在线分析处理(OLAP)。本文介绍了 ClickHouse 的基本使用步骤,包括下载二进制文件、安装应用、启动服务器和客户端、创建表、插入数据以及查询新表。还提到了图形客户端 DBeaver 的使用,使操作更加直观。通过这些步骤,用户可以快速上手并利用 ClickHouse 的强大性能进行数据分析。
63 4
|
3月前
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
4月前
|
存储 SQL 缓存
数据库测试|Elasticsearch和ClickHouse的对决
由于目前市场上主流的数据库有许多,这次我们选择其中一个比较典型的Elasticsearch来和ClickHouse做一次实战测试,让大家更直观地看到真实的比对数据,从而对这两个数据库有更深入的了解,也就能理解为什么我们会选择ClickHouse。
数据库测试|Elasticsearch和ClickHouse的对决
|
3月前
|
存储 关系型数据库 MySQL
四种数据库对比MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
四种数据库对比 MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
|
7月前
|
DataWorks API 调度
DataWorks产品使用合集之在调度配置配置了节点的上游节点输出,没办法自动生成这个flow的依赖,该怎么操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之建了 polar 与clickhouse的数据源。为什么数据库这里总是mysql呢
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
存储 大数据 关系型数据库
从 ClickHouse 到阿里云数据库 SelectDB 内核 Apache Doris:快成物流的数智化货运应用实践
目前已经部署在 2 套生产集群,存储数据总量达百亿规模,覆盖实时数仓、BI 多维分析、用户画像、货运轨迹信息系统等业务场景。
|
7月前
|
存储 SQL 运维
OLAP数据库选型指南:Doris与ClickHouse的深入对比与分析
OLAP数据库选型指南:Doris与ClickHouse的深入对比与分析
|
8月前
|
关系型数据库 MySQL 数据库
ClickHouse(07)ClickHouse数据库引擎解析
ClickHouse支持多种数据库引擎,包括Atomic(默认)、MySQL、MaterializeMySQL、Lazy、PostgreSQL、MaterializedPostgreSQL。Atomic提供非阻塞的表操作和原子的表交换,有UUID标识和延迟删除功能。MySQL引擎允许与远程MySQL服务器交互,支持INSERT和SELECT,不支持RENAME操作。PostgreSQL引擎类似,可与远程PostgreSQL服务进行读写操作。SQLite引擎用于连接SQLite数据库。实验性引擎如MaterializeMySQL和MaterializedPostgreSQL用于实现实时数据同步。
617 5

热门文章

最新文章