# 阿炳数记 > wubx 的中文技术博客,主题是 Databend:部署、写入与性能实测、SQL 功能,以及基于 Databend 的数据平台实践。性能类文章都写明了测试环境、方法和适用范围。 全部文章见 [归档](https://wubx.net/archive),完整页面列表见 [sitemap](https://wubx.net/sitemap.xml)。 ## 文章(按发布时间倒序) - [用 AI 分析两年订单:销售额还在涨,老客户却在少买](https://wubx.net/ai-data-analysis-online-retail)(2026-10-29): 我把一份真实的公开订单数据交给 Evot,只说了一句“帮我把 Online Retail II 数据加载到 Databend Cloud,建表导入数据,先完整跑一遍,看看能得出什么有价值的结论”。它在 Databend Cloud 上用 7 分钟跑完:直接加总会多算 6.5% 的销售额;两年销售额只涨 2.4%,730 个老客户消费减半,少花的钱比流失客户还多。 - [databend-meta 升级:写入从 110 QPS 到 1.7 万 QPS](https://wubx.net/databend-meta-upgrade-write-throughput)(2026-10-29): 测完 musl 和 GNU 构建后,我顺手测了 databend-meta 1.2.820,高并发写入一直卡在 110 QPS 左右,1.2.956 能到 1.7 万。用官方镜像二分,问题出在 1.2.896 之前 MetaWorker 一次只处理一个请求。 - [databend-meta 的 musl 与 GNU 构建实测:为兼容老系统,要让掉多少性能?](https://wubx.net/databend-meta-musl-vs-gnu-benchmark)(2026-10-28): 不少信创环境的系统版本偏老,databend-meta 通常只能用 musl 静态包部署。同一份代码分别编译 musl 静态和 GNU 动态版本,在三节点集群上从 16 到 1536 并发压测 52 轮:512 与 1024 并发时 musl 吞吐低 13%–14%,低并发差距在 7% 以内,尾延迟两者各有高低。 - [Databend 会话变量与脚本变量详解(含 CALL 传参限制)](https://wubx.net/databend-sql-variables)(2026-10-28): Databend 有两种变量:会话变量用 SET VARIABLE 定义、用 $name 引用,在整个会话内有效;脚本变量用 LET 定义,只在 BEGIN ... END 块内有效,在 SQL 语句中写 :name,在 IF、RETURN 中直接写 name。两者命名空间独立、可以互相传值。CALL system$xxx 只接受固定字符串,两种变量都传不进去,需要改用 SELECT 形式。示例均在 Databend Cloud 上验证。 - [GitHub 事件数据质量实测:GH Archive 与 OpenDigger 还可靠吗?](https://wubx.net/gharchive-github-events-data-quality)(2026-10-27): 实测 GH Archive 与 OpenDigger 的 GitHub 事件数据:GH Archive 部分小时缺少整类 PushEvent,OpenDigger 的 28 万条 Push 全部早于归档小时,commit 数等字段已被 GitHub 裁剪。附用 Evot 和 Databend Cloud 复现的 SQL 与数据源。 - [Databend 数据写入实测:从 3千行/秒 到 230万行/秒,4种方式该怎么选](https://wubx.net/databend-ingestion)(2026-01-04): 实测 Databend 的 4 种写入方式。200k 批次时 STREAMING_LOAD 约 12.8 万行/秒,INSERT 约 2.9 万行/秒;COPY INTO 在 3 节点集群上能到 230 万行/秒。文中按私有化和公有云场景给出选择建议。 - [Databend 北京 meetup 技术交流总结](https://wubx.net/databend-bj-meetup-20250802)(2025-08-03): 2025 年 8 月 Databend 北京 meetup 小结:Databend 技术演进、向量索引、TiDB 的 AI 实践、亚信数据平台的 AI Native 演进四个分享,现场讨论的三个问题,以及回北京后的一些感触。 - [使用 Databend Cloud 归档 OceanBase 数据](https://wubx.net/use-databend-cloud-as-archiver)(2025-07-18): 用 db-archiver 把 OceanBase 的历史数据按主键或时间范围归档到 Databend Cloud,数据存放在自己的对象存储 Bucket 中,不用时不产生计算费用。同样适用于 MySQL、TiDB、PostgreSQL 等数据库。 - [基于 Databend 构建数据可信空间展望](https://wubx.net/the-data-marketplace-databend)(2025-07-18): 结合 Databend 在某省级大数据交易所的落地经验,探讨基于存算分离的数据共享:集团或省内用 attach table 共享,跨组织用 Share 共享,并对比两种方式。 - [玩转 Databend 中的 UDF](https://wubx.net/the-databend-udf)(2025-06-24): Databend 支持三类 UDF:纯 SQL 的 Lambda UDF,用 Python、JavaScript、WASM 编写的 UDF Script,以及外部 UDF Server。本文用斐波那契函数分别实现,对比性能并给出选型建议。 - [Kubekey 环境中 Etcd 集群搭建及维护](https://wubx.net/the-etcd-cluster-init)(2025-06-24): 记录在 Kubekey 环境中修复 etcd 集群:手动初始化第一个节点,再逐个加入其余节点,确认集群状态并配置定期备份。附 systemd 服务和环境变量配置。 - [私有化 Databend 的 docker 仓库](https://wubx.net/databend-private-docker-registry)(2025-05-22): 内网无法访问外部镜像源时,可以搭建私有 Docker Registry:下载 Databend 镜像并推入私有仓库,各节点从内网拉取镜像完成部署和升级。 - [使用 OpenDAL 直接写对象存储](https://wubx.net/download-gharchive-write-s3-use-opendal)(2025-05-16): 下载文件再上传 S3 时,本地磁盘容易成为瓶颈。用 OpenDAL 可以把下载的数据直接写入 S3 或阿里云 OSS,不落本地盘。以下载 GH Archive 数据为例给出 Python 示例。 - [SeaTunnel MySQL-CDC 输出格式调研](https://wubx.net/SeaTunnel-research)(2025-05-07): 测试 SeaTunnel MySQL-CDC 同步到 Console、MySQL、S3 和 Kafka 时的输出格式,分析 insert、update、delete 各自的表现,并给出用 maxwell-json 格式与 Databend Stream、MERGE INTO 整合的方案。 - [使用 Docker 启动 Databend](https://wubx.net/use-docker-startup-databend)(2025-05-07): 老版本 CentOS、openEuler 上官方 GNU 包可能无法运行,推荐用 Docker 加 host 网络部署 databend-meta 和 databend-query。本文给出启动脚本、配置文件,以及无网络环境下导入镜像的方法。 - [基于 Databend 的近实时计算实现](https://wubx.net/databend-stream-compute)(2025-05-06): 用 Databend Stream 捕获表的增量,交给 External UDF 处理并推送到 MySQL,实现近实时计算,可替代部分 Flink 任务。附完整的 UDF 代码、注册语句和验证步骤。 - [基于 Databend 的实时数据汇聚平台建设](https://wubx.net/databend-real-time-data-platform)(2025-05-05): 用 Databend 搭建实时数据汇聚平台:通过 Stage 和 Kafka 高速写入,用 Stream 获取增量、MERGE INTO 去重合并,再用 attach table 和多集群让一份数据支撑多种工作负载,并说明权限、资源隔离与运维。 - [大数据是不是要凉?](https://wubx.net/bigdata-is-going-to-cool-down)(2025-04-30): 从传统 Hadoop、数据湖与湖仓一体,到 Snowflake、Databend 这类云原生平台,回顾数据平台的三个阶段,说明“凉”的是旧架构和旧技能,而不是数据分析本身。 - [使用外部函数在 Databend 实现数据的加密和解密](https://wubx.net/databend-udf-decode-encode)(2025-04-29): 用 Python 写一个 External UDF Server,提供 encode_str 和 decode_str 两个函数,注册到 Databend 后,在 SQL 中直接对字段加密和解密。包含服务端代码、query 配置和注册语句。 - [Databend stage 介绍](https://wubx.net/databend-stage)(2025-04-21): Stage 是 Databend 中暂存和交换数据文件的位置。本文对比 User、Internal、External 三种 Stage 的区别,并演示创建 Stage、读取与卸载数据、查看和删除 Stage 文件的 SQL 用法。 - [Databend 的 Docker compose 部署](https://wubx.net/databend-docker-compose)(2025-04-20): 用 docker compose 一次启动 databend-meta、databend-query 和 MinIO,给出完整的 compose.yaml、启停命令和配置文件参考,便于理解 Databend 各组件和环境搭建。 - [Databend 介绍与使命](https://wubx.net/databend-introduce)(2025-04-20): Databend 是用 Rust 开发、基于对象存储的开源云原生数据湖仓。本文介绍它的两种产品形态(Databend Cloud 和私有化企业版)、与传统大数据和 OLAP 的区别、使命和公司情况。 - [Databend 使用 Docker 的快速部署](https://wubx.net/databend-quick-start)(2025-04-19): 用一条 docker run 命令在本地启动 Databend 和内置的 MinIO,再用 bendsql 连接,创建外部 Stage 并导入一份 CSV,5 分钟体验 Databend 的数据加载和查询。