随笔分类 -  clickhouse

1
高性能分析数据库
摘要:在大数据分析中,排序查询是最常见但也最消耗资源的操作之一。特别是当数据量达到TB级别时,传统的排序操作往往需要数分钟甚至更长时间。今天,我们将深入探讨ClickHouse的投影(Projection) 机制,看看它是如何通过空间换时间的策略,将排序查询性能提升数十倍的。 问题场景:以太坊账户余额排序 阅读全文
posted @ 2025-11-03 15:27 若-飞 阅读(44) 评论(0) 推荐(0)
摘要:ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) 详解 一句话概括 "在每个部门内部,按工资从高到低给员工编号" 逐词解析 1. ROW_NUMBER() 作用:生成顺序编号 特点:从1开始,连续不重复(1, 2, 3, 阅读全文
posted @ 2025-09-30 16:00 若-飞 阅读(46) 评论(0) 推荐(0)
摘要:什么是窗口函数? 窗口函数是 SQL 中一种强大的分析功能,它允许在对每一行进行计算时,能够访问到与当前行相关的多行数据。与 GROUP BY 不同,窗口函数不会将多行合并为一行,而是保留所有原始行,同时添加计算列。 直观理解 想象一个 Excel 表格: 姓名 部门 工资 张三 技术部 8000 阅读全文
posted @ 2025-09-30 15:55 若-飞 阅读(68) 评论(0) 推荐(0)
摘要:问题背景 在使用 ClickHouse 的 ReplacingMergeTree 引擎时,很多开发者会遇到一个困惑:明明使用了 FINAL 关键字,查询结果却仍然包含重复数据。比如这样的情况: 数据库表 err := db.Table(model.BlockTaskTableName). Set(" 阅读全文
posted @ 2025-09-30 15:44 若-飞 阅读(66) 评论(0) 推荐(0)
摘要:源数据库存放位置: /data/clickhouse/data/metadata/ 源数据库表存放位置 ubuntu@collector:/$ ls /data/clickhouse/data/metadata/ default ethereum ethereum_backup_20250928.s 阅读全文
posted @ 2025-09-30 09:28 若-飞 阅读(18) 评论(0) 推荐(0)
摘要:ClickHouse UPDATE 机制详解 问题现象 在使用ClickHouse进行UPDATE操作时,经常会遇到这样的现象: UPDATE ethereum.block_tasks SET status = 'pending', owner = 'consumer-1_1758676754070 阅读全文
posted @ 2025-09-24 11:50 若-飞 阅读(166) 评论(0) 推荐(0)
摘要:ClickHouse index_granularity 详解 什么是 index_granularity index_granularity 是ClickHouse中一个重要的性能配置参数,它定义了索引的粒度(granularity),即每多少个数据行会创建一个索引标记(index mark)。 阅读全文
posted @ 2025-09-24 11:43 若-飞 阅读(97) 评论(0) 推荐(0)
摘要:轻量级更新(Lightweight Updates)是ClickHouse中的一个重要特性,让我详细解释一下: 什么是轻量级更新 轻量级更新是ClickHouse提供的一种高效的UPDATE机制,它允许在不重写整个数据块的情况下更新数据。 传统更新 vs 轻量级更新 传统更新(Heavy Updat 阅读全文
posted @ 2025-09-24 11:35 若-飞 阅读(100) 评论(0) 推荐(0)
摘要:ClickHouse 物化列详解 什么是物化列 物化列(Materialized Columns)是ClickHouse中的一个重要特性,它是一种特殊的列类型,其值是通过表达式自动计算得出的,而不是直接存储的。 物化列的基本概念 1. 定义方式 CREATE TABLE example ( id U 阅读全文
posted @ 2025-09-24 11:31 若-飞 阅读(43) 评论(0) 推荐(0)
摘要:ClickHouse UPDATE 操作问题解决方案 问题背景 在使用ClickHouse进行数据更新操作时,遇到了以下错误:Lightweight updates are not supported 2025.09.24 11:08:51.283185 [ 70414 ] {09f4305c-14 阅读全文
posted @ 2025-09-24 11:27 若-飞 阅读(54) 评论(0) 推荐(0)
摘要:ClickHouse 表引擎深度解析:ReplacingMergeTree、PARTITION、PRIMARY KEY、ORDER BY 详解 前言 ClickHouse 作为高性能的列式数据库,其表引擎设计是其核心优势之一。ReplacingMergeTree 是处理重复数据的利器,而 PARTI 阅读全文
posted @ 2025-09-18 15:49 若-飞 阅读(126) 评论(0) 推荐(0)
摘要:最近发现一个问题,在一个53亿条的clickhouse数据库中,在已经按时间戳进行分区的情况下,这样的查询: select * FROM web3.bsc_logs as l left join web3.bsc_transactions_extra as ex on l.tx_hash = ex. 阅读全文
posted @ 2024-01-08 22:18 若-飞 阅读(352) 评论(3) 推荐(0)
摘要:有个clickhouse表,存储tx_hash字段: 有个语句统计tx_type: SELECT CASE tx_type WHEN 'created_nft' THEN 'created_nft_count' WHEN 'nft_transactions' THEN 'nft_transactio 阅读全文
posted @ 2024-01-06 23:25 若-飞 阅读(277) 评论(0) 推荐(0)
摘要:CREATE TABLE web3.tx_hashes ( `id` UInt64, `created_at` Nullable(DateTime), `updated_at` Nullable(DateTime), `deleted_at` Nullable(DateTime), `game_na 阅读全文
posted @ 2023-09-13 20:17 若-飞 阅读(149) 评论(0) 推荐(0)
摘要:1. 遇到问题: 在clickhouse,我有一个web3_data表,大概36w条记录,以下查询的数据会变: select * from ( SELECT space_id, user_address, attr_name, attr_value FROM web3_data LIMIT 6550 阅读全文
posted @ 2023-09-13 20:09 若-飞 阅读(435) 评论(0) 推荐(0)
摘要:这个代码运行2亿条记录,发现内存使用一直增加,内存满了以后,直接被killed func (p *ClickHouseClient) CountAllTxTypees(startId int, endId int, SpaceStore SpaceInterface) (web3datas []We 阅读全文
posted @ 2023-09-12 22:31 若-飞 阅读(662) 评论(0) 推荐(0)
摘要:需求: 1、在工作中,我们常常需要将外部 hive 或者 mysql、oracle 等数据源导入到clickhouse中,对于多种外部数据源,是否有通用的数据导入方案? 2、我们在clickhouse上维持一张查询主表,但外部数据源表是hive增量表,新增数据需要同步更新到clickhouse上,是 阅读全文
posted @ 2023-09-12 11:30 若-飞 阅读(923) 评论(0) 推荐(0)
摘要:1. 得到一个clickhouse连接: import ( "context" "fmt" "log" "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" ) fun 阅读全文
posted @ 2023-09-11 17:29 若-飞 阅读(1404) 评论(0) 推荐(0)
摘要:1. mysql创建一个用于clickhouse的账号mysql_clickhouse并且授权 CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!'; GRANT ALL PRIVILEGES ON *.* TO ‘mysql 阅读全文
posted @ 2023-09-11 11:53 若-飞 阅读(783) 评论(0) 推荐(0)
摘要:1. 官方文档: https://clickhouse.com/docs/en/install 2. docker安装server: sudo docker run -d -e CLICKHOUSE_DB=default -e CLICKHOUSE_USER=default -e CLICKHOUS 阅读全文
posted @ 2023-09-11 11:31 若-飞 阅读(503) 评论(0) 推荐(0)

1