ClickHouse 深度解析:架构、存储引擎与核心机制
从底层原理到核心机制,系统性地拆解 ClickHouse:它是什么、为什么快、存储引擎怎么工作、SQL 有哪些特性,以及什么场景适合用、什么场景不该用。
共 8 篇文章
从底层原理到核心机制,系统性地拆解 ClickHouse:它是什么、为什么快、存储引擎怎么工作、SQL 有哪些特性,以及什么场景适合用、什么场景不该用。
在 Prism 项目中用 ClickHouse 存储链路追踪数据的真实经历:为什么选它,表结构怎么设计,物化视图如何让聚合查询从秒级降到毫秒级,以及那些让我头疼了好几天的坑。
PostgreSQL 和 MySQL 都叫关系型数据库,但设计哲学截然不同。这篇文章从架构、数据类型、事务、索引到扩展性,系统拆解 PostgreSQL 的核心机制,并在关键处与 MySQL 做对比——让你真正理解该用哪个,以及为什么。
PostgreSQL 默认索引是 B-Tree,但大多数人对它的理解停留在「加了索引查询会变快」这一层。这篇文章从 B-Tree 的数据结构出发,讲清楚它是怎么组织数据的、为什么能加速查询、又在哪些情况下会失效,最后给出一套实用的索引设计原则。
深入剖析 PostgreSQL SKIP LOCKED 的工作原理,以及如何在不引入 Kafka/RabbitMQ 的情况下实现生产级的可靠消息投递。
慢查询排查不神秘,就是一套固定流程:日志定位 → EXPLAIN ANALYZE 分析 → 索引或查询优化。这篇文章从开慢查询日志开始,一步步拆解排查过程,重点讲几个最常见的慢查询模式:缺索引、N+1、隐式类型转换,以及怎么把 SQLAlchemy ORM 生成的 SQL 捞出来看。
一个 INT 占几字节,一条 JSONB 记录多大,表到多少行开始变慢,索引能撑到多大——这些问题在设计阶段很少有人认真算,等出了问题才去翻文档。这篇文章把 PostgreSQL 存储大小和查询效率的关键数字整理在一起,从字段级别到亿级表,给你一套可以参考的心理模型。
pool_size 设大一点就没问题了吧?错。连接池的参数配错不会立刻爆炸,但会在某个流量高峰的下午,用一个莫名其妙的报错来找你算账。这篇文章把 SQLAlchemy 连接池的核心参数讲清楚,顺带复盘三种常见事故场景。