• ​前言 使用 Docker 官方clickhouse-server:24.3.2.23承载 Webfunny 埋点 / APM 大数据业务,接连踩中 3 类生产级故障:容器启动直接退出、Node 后端镜像版本兼容报错、UPDATE 更新长时间不生效。本文完整记录全套故障根因、可直接复制落地的修复步骤,覆盖 Docker 镜像、ZK 集群、MergeTree 线程池、Mutation 异步机制全维度优化,运维 Webfunny 埋点、ClickH
  • ​ 在ClickHouse生产运维中,绝大多数团队都会遇到同一个痛点:每日全量备份体积大、耗时长、占用大量带宽和存储资源。 ClickHouse作为列式存储数据库,数据量动辄几十GB、上百GB,如果长期执行每日全量备份,不仅备份耗时长达数十分钟,远程存储成本也会持续堆积,造成资源严重浪费。 针对这个问题,最佳解决方案就是基于基准全量的增量备份策略。本文给大家分享一套生产可用、零级联风险、自带清理+告警+定时任务的 clickhouse-back
  •   ​  做Web开发、日志分析、风控拦截、用户运营的开发者,大概率都踩过 User-Agent解析 的坑! 看似简单的一串UA字符串,藏着无数难题:杂乱无章的字符难以识别设备、主流爬虫伪装真实用户无法甄别、开源库识别率低、小众设备直接返回「未知」、系统版本匹配错乱…… 市面上多数通用UA解析库,要么规则老旧长期不更新,要么识别维度单一,无法适配国内海量机型、小众系统以及各类爬虫伪装场景,导致日志数据失真、风控误判、用户画像
  • ​ ClickHouse 自动 Merge 完整详解(MergeTree 引擎核心机制) 一、什么是自动 Merge MergeTree 系列引擎(包含 ReplacingMergeTree/AggregatingMergeTree)写入数据时不会直接合并分区内数据,每次 INSERT 都会生成独立小数据块(part); ClickHouse 后台有自动合并后台线程,定时把多个小 part 合并成大 part,实现: 减少文件数量,降低磁盘
  • 前言 在用户行为分析、埋点平台、人群分群、UV统计等业务场景中,我们经常需要存储整个人群包的用户ID列表,用于后续人群圈选、人群交集/并集计算、留存分析、报表复盘。 绝大多数业务初期都会直接使用 Array(String) 存储用户UUID,开发简单、上手零成本,但随着分群数量上涨、单分群用户体量突破十万/百万级别,会暴露出致命问题:存储空间爆炸、ARRAY JOIN查询缓慢、人群运算SQL极其复杂。 本文基于真实业务数据,横向对比 Array
  • 容器内执行clickhouse-backup的完整方案 适用环境 Docker单机部署ClickHouse Webfunny埋点日志库(分表多、分区多、ReplacingMergeTree引擎为主) 备份工具:clickhouse-backup(远程SFTP异地备份+本地备份双兜底) 配套能力:定时自动备份、备份过期自动清理、企业微信备份结果告警 关键避坑点 路径映射问题 宿主机执行备份恢复会因路径不一致失败,所有操作必须在容器内执行 权
  • 通用说明 统一测试表:biz_data 时间字段:dt(日期时间类型) 统计指标:行数 cnt、金额求和 sum_amt 分组维度:分钟、小时、天、周、月、年,附带排序; 周统计附带说明周起始规则差异。 一、MySQL(5.7 / 8.0) 1. 按分钟(yyyy-MM-dd HH:mm) sql SELECT DATE_FORMAT(dt, '%Y-%m-%d %H:%i') AS stat_min, COUNT(*) AS cnt, SU
  • ​ 本文档用于指导开发者快速对接 Nacos 实现服务注册、服务发现、配置管理、服务治理(权重、路由、熔断、健康检查),覆盖 Spring Cloud Alibaba + Nacos 标准对接方案,适用于微服务架构生产环境使用。 适用版本: Nacos Server:2.x 系列(推荐 2.2.3 / 2.3.0) Spring Cloud Alibaba:2021.0.5.0 / 2022.0.0.0 Spring Boot:2.7.x /
  • 对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。 一、基本用法 git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。 $ git cherry-pick commitHash> 上面命令就会将指
  • 据我多年做全链路分析系统的经验来看,大部分公司数据体量,用单机版基本足够了。像Clickhouse这种OLAP 实时分析型数据库,在大量数据插入和查询方面都特别猛,一次插入几万条数据跟玩似的。但是更新和删除的时候都比较拉胯了,不过正常情况下,也没人专门更新或者删除一条日志啊,所以中小公司用单机版加个备份脚本就可以了。但是集群有集群的好处,它容错率高啊,在高可用场景下很有必要,今天我们就来介绍一个低成本的clickhouse集群。 我们也做了一套