
ClickHouse入门与实战
文章平均质量分 93
ClickHouse学习与总结
张飞的猪
点关注,不迷路,一起沉浸在数据之中。互关必回!!
展开
-
ClickHouse(24)ClickHouse集成mongodb表引擎详细解析
ClickHouse(24)ClickHouse集成mongodb表引擎详细解析。MongoDB 引擎是只读表引擎,允许从远程 MongoDB 集合中读取数据(引擎只支持非嵌套的数据类型。— MongoDB 服务器地址.— MongoDB 用户.原创 2024-01-30 20:04:30 · 1640 阅读 · 0 评论 -
ClickHouse(22)ClickHouse集成HDFS表引擎详细解析
如果指定了hadoop_kerberos_keytab, hadoop_kerberos_principal或者hadoop_kerberos_kinit_command,将会调用kinit工具.在此情况下,hadoop_kerberos_keytab和hadoop_kerberos_principal参数是必须配置的.kinit工具和 krb5 配置文件是必要的.数据节点的安全通信无法由SASL保证 ( HADOOP_SECURE_DN_USER 是这种安全方法的一个可靠指标)。创建具有名为文件的表。原创 2024-01-27 13:55:44 · 1768 阅读 · 0 评论 -
ClickHouse(23)ClickHouse集成Mysql表引擎详细解析
MySQL引擎可以对存在远程MySQL服务器上的数据执行SELECT查询。host:portdatabasetableuserpasswordINSERT此时,简单的WHERE子句(例如)是在MySQL服务器上执行。其余条件以及LIMIT采样约束语句仅在对MySQL的查询完成后才在ClickHouse中执行。MySQL引擎不支持NULL值,因此,当从MySQL表中读取数据时,NULL将转换为指定列类型的默认值(通常为0或空字符串)。原创 2024-01-28 11:02:34 · 1766 阅读 · 0 评论 -
ClickHouse(21)ClickHouse集成Kafka表引擎详细解析
以下kafka_format是支持的格式,ClickHouse可以接受和返回各种格式的数据。受支持的输入格式可用于提交给INSERT语句、从文件表(File,URL,HDFS或者外部目录)执行SELECT语句,受支持的输出格式可用于格式化SELECT语句的返回结果,或者通过INSERT写入到文件表。对于使用了kerberos的kafka, 将security_protocol 设置为sasl_plaintext就够了,如果kerberos的ticket是由操作系统获取和缓存的。将数据转换为所需要的格式。原创 2024-01-12 21:01:16 · 2048 阅读 · 0 评论 -
ClickHouse(20)ClickHouse集成PostgreSQL表引擎详细解析
这样创建,可以在同一列的不同表行中包含不同维度的多维数组。但是在 ClickHouse 中,只允许在同一列的所有表行中包含相同维数的多维数组。PostgreSQL 引擎允许 ClickHouse 对存储在远程 PostgreSQL 服务器上的数据执行。采样约束都是在 PostgreSQL 的查询结束后才在ClickHouse中执行的。要小心 - 一个在 PostgreSQL 中的数组数据,像。的方式在只读 PostgreSQL 事务中运行,每次。的方式在 PostgreSQL 事务中运行,每条。原创 2024-01-02 20:00:17 · 1861 阅读 · 0 评论 -
ClickHouse(19)ClickHouse集成Hive表引擎详细解析
Hive引擎允许对HDFS Hive表执行 `SELECT` 查询。当ClickHouse为远程文件系统启用了本地缓存时,用户仍然可以选择不使用缓存,并在查询中设置。我们强烈建议您为远程文件系统启用本地缓存。基准测试显示,如果使用缓存,它的速度会快两倍。Parquet:支持所有简单标量列类型;Hive引擎允许对HDFS Hive表执行。— Hive Metastore 地址。-文本:只支持简单的标量列类型,除了。ORC:支持简单的标量列类型,除了。在使用缓存之前,请将其添加到。原创 2023-12-23 13:58:13 · 2283 阅读 · 0 评论 -
ClickHouse(18)ClickHouse集成ODBC表引擎详细解析
ODBC集成表引擎使得ClickHouse可以通过ODBC方式连接到外部数据库.为了安全地实现 ODBC 连接,ClickHouse 使用了一个独立程序. 如果ODBC驱动程序是直接从中加载的,那么驱动问题可能会导致ClickHouse服务崩溃。当有需要时,ClickHouse会自动启动。ODBC桥梁程序与来自相同的安装包.该引擎支持Nullable数据类型。原创 2023-12-18 16:46:15 · 1505 阅读 · 0 评论 -
ClickHouse(17)ClickHouse集成JDBC表引擎详细解析
允许CH通过JDBC连接到外部数据库。要实现JDBC连接,CH需要使用以后台进程运行的程序。该引擎支持Nullable数据类型。原创 2023-12-11 19:23:32 · 1629 阅读 · 0 评论 -
ClickHouse(16)ClickHouse日志引擎Log详细解析
`Log` 引擎为表中的每一列使用不同的文件。`StripeLog` 将所有的数据存储在一个文件中。因此 `StripeLog` 引擎在操作系统中使用更少的描述符,但是 `Log` 引擎提供更高的读性能。`TinyLog` 引擎是该系列中最简单的引擎并且提供了最少的功能和最低的性能。`TinyLog` 引擎不支持并行读取和并发数据访问,并将每一列存储在不同的文件中。它比其余两种支持并行读取的引擎的读取速度更慢,并且使用了和 `Log` 引擎同样多的描述符。你可以在简单的低负载的情景下使用它。原创 2023-12-04 17:01:58 · 1791 阅读 · 0 评论 -
ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析
GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMergeTree引擎。它能减少存储空间,同时能提高Graphite数据的查询效率。该引擎继承自MergeTree.原创 2023-09-21 19:15:33 · 570 阅读 · 0 评论 -
ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
VersionedCollapsingMergeTree引擎继承自MergeTree并将折叠行的逻辑添加到合并数据部分的算法中。VersionedCollapsingMergeTree用于相同的目的折叠树但使用不同的折叠算法,允许以多个线程的任何顺序插入数据。特别是,Version列有助于正确折叠行,即使它们以错误的顺序插入。相比之下,CollapsingMergeTree只允许严格连续插入。原创 2022-11-11 22:42:26 · 1304 阅读 · 1 评论 -
ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
该引擎继承于MergeTree,并在数据块合并算法中添加了折叠行的逻辑。CollapsingMergeTree会异步的删除(折叠)这些除了特定列Sign有1和-1的值以外,其余所有字段的值都相等的成对的行。没有成对的行会被保留。因此,该引擎可以显著的降低存储量并提高SELECT查询效率。简单来说就是,clickhouse会自动的合并有效和无效的数据,减少数据存储,并减少update所产生的性能消耗。具体的逻辑,下面介绍。原创 2022-10-24 19:37:13 · 1736 阅读 · 0 评论 -
ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
AggregatingMergeTree引擎继承自 MergeTree,并改变了数据片段的合并逻辑。ClickHouse会将一个数据片段内所有具有相同主键(准确的说是排序键)的行替换成一行,这一行会存储一系列聚合函数的状态。可以使用AggregatingMergeTree表来做增量数据的聚合统计,包括物化视图的数据聚合。AggregatingMergeTree适用于能够按照一定的规则缩减行数的情况。原创 2022-10-07 22:00:00 · 1826 阅读 · 1 评论 -
ClickHouse(11)ClickHouse合并树MergeTree家族表引擎之SummingMergeTree详细解析
SummingMergeTree引擎继承自MergeTree。区别在于,当合并SummingMergeTree表的数据片段时,ClickHouse会把所有具有相同主键的行合并为一行,该行包含了被合并的行中具有数值数据类型的列的汇总值。如果主键的组合方式使得单个键值对应于大量的行,则可以显著的减少存储空间并加快数据查询的速度。一般SummingMergeTree和MergeTree一起使用。原创 2022-10-06 22:00:00 · 1301 阅读 · 0 评论 -
ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析
创建ReplacingMergeTree表的参数中,与MergeTree不同的是[ver]。在数据合并的时候,ReplacingMergeTree 从所有具有相同排序键的行中选择一行留下:如果ver列未指定,保留最后一条。ReplacingMergeTree是另外一个常用的表引擎,ReplacingMergeTree和MergeTree的不同之处在于它会删除排序键值相同的重复项。因此,ReplacingMergeTree适用于在后台清除重复的数据以节省空间,但是它不保证没有重复的数据出现。原创 2022-10-05 22:30:23 · 1620 阅读 · 0 评论 -
ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree引擎详细解析
Clickhouse中最强大的表引擎当属MergeTree(合并树)引擎及该系列(MergeTree)中的其他引擎。MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。相比在插入时不断修改(重写)已存储的数据,这种策略会高效很多。原创 2022-10-03 20:46:13 · 1984 阅读 · 1 评论 -
ClickHouse(08)ClickHouse表引擎概况
目前ClickHouse的表引擎主要有下面四个系列,合并树家族、日志引擎系列、集成的表引擎和其他特殊的引擎。#合并树家族Clickhouse中最强大的表引擎当属MergeTree(合并树)引擎及该系列(MergeTree)中的其他引擎。MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。相比在插入时不断修改(重写)已存储的数据,这种策略会高效很多。#日志引擎系列。原创 2022-10-02 21:57:15 · 1020 阅读 · 1 评论 -
ClickHouse(07)ClickHouse数据库引擎解析
ClickHouse几种数据库引擎,已经对应的特点和应用的场景。数据库引擎允许您处理数据表。默认情况下,ClickHouse使用Atomic数据库引擎。它提供了可配置的table engines和SQL dialect。目前的数据库引擎:* MySQL* MaterializeMySQL* Lazy* Atomic* PostgreSQL* MaterializedPostgreSQL* Replicated* SQLite原创 2022-09-26 16:30:16 · 730 阅读 · 0 评论 -
ClickHouse(06)ClickHouse建表语句DDL详细解析
DEFAULT是在插入的时候计算填充,MATERIALIZED和ALIAS是在查询的时候,或者说用到的时候填充,而EPHEMERAL,有点类似于我们在建表的时候,创建一个变量,一个代码块。特殊编码与通用的压缩算法相比,区别在于,通用的LZ4和ZSTD压缩算法是普适行的,不关心数据的分布特点,而特殊编码类型对于特定场景下的数据会有更好的压缩效果。无论是列级别还是表级别的TTL,都需要依托某个DateTime或Date类型的字段,通过对这个时间字段的INTERVAL操作,来表述TTL的过期时间。原创 2022-09-16 17:17:46 · 3179 阅读 · 0 评论 -
ClickHouse(05)ClickHouse数据类型详解
ClickHouse属于分析型数据库,ClickHouse提供了许多数据类型,它们可以划分为基础类型、复合类型和特殊类型。其中基础类型使ClickHouse具备了描述数据的基本能力,而另外两种类型则使ClickHouse的数据表达能力更加丰富立体。原创 2022-09-02 12:12:59 · 2779 阅读 · 0 评论 -
ClickHouse(04)如何搭建ClickHouse集群
ClickHouse集群的搭建和部署和单机的部署是类似的,主要在于配置的不一致,如果需要了解ClickHouse单机的安装设部署,可以看看这篇文章,ClickHouse(03)ClickHouse怎么安装和部署。ClickHouse集群部署流程大概如下:按照ClickHouse(03)ClickHouse怎么安装和部署中的介绍下载即可配置hosts文件在每台机器上安装单机版ClickHouse按照ClickHouse(03)ClickHouse怎么安装和部署中的介绍安装即可要配置集群,需要在 /原创 2022-07-12 20:30:13 · 1374 阅读 · 0 评论 -
ClickHouse(03)ClickHouse怎么安装和部署
本文会介绍如何安装和部署ClickHouse,官方推荐的几种安装模式,以及安装之后如何启动,ClickHouse集群如何配置等。简单来说,ClickHouse的搭建流程如下:这里先介绍单机的Click House的搭建和启动,下一篇会介绍搭建Click House集群需要配置的东西。ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。官方预构建的二进制文件通常针对x86_64进行编译,并利用SSE4.2指令集原创 2022-07-05 16:42:18 · 1365 阅读 · 0 评论 -
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
ClickHouse核心架构设计是怎么样的?ClickHouse核心架构模块分为两个部分:ClickHouse执行过程架构和ClickHouse数据存储架构,下面分别详细介绍。总的来说,结合目前搜集到的一些资料,可以看到目前ClickHouse核心架构由下图构成,主要的抽象模块是Column、DataType、Block、Functions、Storage、Parser与Interpreter。简单来说,就是一条sql,会经由Parser与Interpreter,解析和执行,通过调用Column、DataT原创 2022-06-20 20:06:42 · 1114 阅读 · 0 评论 -
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
ClickHouse的由来ClickHouse是什么数据库?ClickHouse速度有多快?应用场景是怎么样的?ClickHouse是关系型数据库吗?ClickHouse目前是很火爆的一款面向OLAP的数据,可以提供秒级的大数据查询。Google于2003~2006年相继发表了三篇论文“Google File System”“Google MapReduce”和“Google Bigtable”,将大数据的处理技术带进了大众视野。2006年开源项目Hadoop的出现,标志着大数据技术普及的开始,大数据技原创 2022-05-30 23:52:56 · 2244 阅读 · 0 评论