现在数据库的种类也是特别的多,大致的类别包括:
每种都在各自的领域表现出色,但当涉及到大规模数据分析和复杂查询时,ClickHouse 出现在了舞台上。
ClickHouse 使用列式存储,这意味着它可以高效地执行聚合、过滤和排序操作。
「面试经常问到大宽表查询聚合怎么办,这不是解决方案来了嘛!!」
今天我们就一起来深入了解一下ClickHouse !看的人多的话,下期出实战哈!
ClickHouse
是一款由俄罗斯搜索引擎公司 Yandex 开发的开源列式数据库管理系统(DBMS)。发布于2016年,是使用 C++ 编程语言开发的。它的设计目标是用于高性能的大规模数据分析和查询,类似SQL语法降低开发和学习成本。
「ClickHouse 是用于实时应用程序和分析的速度最快、资源效率最高的开源数据库。」
「Github的start数量已经:30.6k」
官网地址:https://clickhouse.com/
说起列式数据库,就不得不说OLAP,列式型数据库天然适合OLAP场景,下面我们一起了解一下什么是OLAP!
OLAP(联机分析处理)是一种强大的数据处理分析方法,特别适用于需要深入探索大量多维数据的应用场景,如业务智能、数据仓库、销售分析、财务报告等。OLAP 技术允许用户从不同的角度、维度和层次来查看和分析数据,以发现潜在的关联、趋势和模式,从而更好地做出决策。
面向列的数据库更适合 OLAP 场景:它们处理大多数查询的速度至少快 100 倍。下面详细解释了原因,但事实更容易直观地展示:
制作了一个动态图片能够直观的看到比行式数据库效率高很多!
我们单独讲业务场景的话有点单调,我们一般喜欢拿它和Elasticsearch 进行比较!
ClickHouse 和 Elasticsearch 都是用于数据存储和查询的强大工具,但它们在业务场景和使用方面有一些不同之处。
以下是 ClickHouse 和 Elasticsearch 的业务场景对比:
「ClickHouse:」
「Elasticsearch:」
当然我们也有列式存储,字节在 ClickHouse 架构基础上进行了升级,于 2020 年在内部启动了 ByConity 项目,并于 2023 年 1 月发布 Beta 版本,5月底正式对外开源。
ByConity官网地址:https://byconity.github.io/zh-cn/。
ByConity 是字节跳动开源的云原生数据仓库,它采用计算-存储分离的架构,支持多个关键功能特性,如「计算存储分离、弹性扩缩容、租户资源隔离和数据读写的强一致性」等。
通过利用主流的 OLAP 引擎优化,如「列存储、向量化执行、MPP 执行、查询优化」等,ByConity 可以提供「优异的读写性能」。
ByConity
字节也在内部准备从ClickHouse 全面切换为ByConity。
我们本次了解一下ClickHouse,后面再深入学习一下ByConity!
综上所述,ClickHouse 更适用于大规模数据分析、数据仓库、复杂查询、大宽表聚合、报表等场景,而 Elasticsearch 更适用于全文搜索、实时数据分析、日志分析和数据探索等场景。
大家根据自己的业务具体使用那个即可!