乔人尹 - 存储
type: channel
link: https://underestimated.cn/tag/%E5%AD%98%E5%82%A8/
items: 压舱石、变色龙与润滑剂：我的系统架构存储全景图

压舱石、变色龙与润滑剂：我的系统架构存储全景图
type: item
date: 2025-12-20T00:00:00+00:00
description: 在 AI 时代，开发者构建新系统的门槛越来越低，但数据存储作为底层架构的重中之重，在系统规划之初就必须做出前瞻性的选择，以避免后续因性能瓶颈或存储缺陷影响系统稳定。作为一名正在规划新系统的架构师，我把这段时间调研的主流数据库和中间件按照“能解决什么问题”梳理了一遍。这不仅仅是选型，更是为了给系统里的每一份数据找个最舒服的“家”。你可以把这些看作咱们开发者的“军火库”：一、 开发者军火库：核心组件速览1. 业务逻辑与一致性的“压舱石” (RDBMS)咱们最核心的用户、权限、业务逻辑，必须用关系型数据库，稳字当头。PostgreSQL： 它是我的首选。不仅能搞定 SQL，其 JSONB 特性存解析结果特别香，甚至装个插件就能变身向量数据库。MySQL： 老朋友了，如果团队希望上手快、运维省心，它就是标准答案。SQLite： 适合做轻量级本地工具或移动端开发，直接单文件运行。2. 海量数据下的“变色龙” (NewSQL)如果 API 调用量或解析记录突破单机瓶颈，又不想搞复杂的动态分库分表，看这两个：TiDB： 国产之光。兼容 MySQL 协议，能同时跑事务（TP）和分析（AP），无需来回同步数据。CockroachDB： 它的多地多中心容灾能力极强，适合全球分布场景。3. 统计报表与大屏的“助推器” (OLAP)对几亿条 API 调用日志做分析，传统的 SQL 往往会卡死，必须上列式存储：ClickHouse： 性能怪兽。聚合查询速度比 MySQL 快几百倍，压缩率惊人，极适合存审计日志。StarRocks / Doris： 在处理复杂表关联（Join）时比 ClickHouse 更智能，查询体验接近 MySQL。4. 灵活变动与极速响应的“快刀手” (NoSQL)MongoDB： 解析多媒体出的数据字段经常变？存 Mongo 最省事，直接扔 JSON，告别 ALTER TABLE。Redis： 系统的“速效救心丸”。处理进度条、热点缓存、接口限流，没它真不行。5. AI 与多媒体检索的“新武器” (Vector DB)做图片和音视频分析，少不了相似度检索（如以图搜图）：Milvus： 专门存储 512 或 1024 维特征向量，查询速度极快。Chroma： 极其轻量，适合 Python 后端快速验证 AI 功能。6. 系统解耦与后台协调的“润滑剂”Kafka： 核心“传送带”。文件上传先入缓冲，后续服务再异步消费，系统才不会被瞬时流量压垮。Elasticsearch： 海量解析结果的全文索引，搜索关键字或查历史报文的不可替代选择。Zookeeper： 经典的分布式调度中心，是 Kafka 等组件稳住阵脚的关键。二、 实战案例分析：如何精准选型？为了深化理解，我们来看两个典型的业务痛点及应对方案：案例 1：只存不改、大量查询的系统怎么选？对于这种“写少读多”的场景，建议根据查询的“姿势”来定：• 姿势 A：海量明细数据的聚合分析 —— 选 ClickHouse场景： 统计过去三个月媒体处理时长、解析量前十的用户。优势： ClickHouse 是为“读”而生的。单机性能即可秒杀 MySQL，聚合查询毫秒级返回。开发者视角： 笔者曾接手一个远程终端数据存储项目，单表年数据量数千万，原本用 MySQL聚合查询慢且需定期归档。操刀换成 ClickHouse 后，虽然仅是单机版，查询效率即实现质变，0.1秒内返回结果，客户用了都要高潮了。避坑指南： ClickHouse 不支持高频单条写入，会产生分片合并问题。方案是在前端加一层 Kafka 做批量写入缓冲。• 姿势 B：高并发关键词/复杂过滤查询 —— 选 Elasticsearch场景： 搜索“包含猫标签、昨天下午处理、文件 > 100MB”的视频。优势： 倒排索引是复杂搜索的王牌。面对成百上千个维度的组合过滤，响应极稳。案例 2：MySQL 遇到性能瓶颈，如何无痛扩展？如果你已深陷 MySQL 容量限制，推荐使用 TiDB —— 这是一个可以“无限加血加防的 MySQL”：原生分布式： 存储计算分离，后台自动分片。你只管写 SQL，容量不够加机器就行，无需改动业务代码。HTAP 架构： 一套数据库内置“行存+列存”。前台秒级处理交易，后台实时跑分析，彻底告别复杂的 ETL 同步。强一致高可用： 基于 Raft 协议，机房挂了自动秒级切换，数据绝对不丢，适合金融级结算业务。数据中台利器： 兼容 MySQL 协议，利用 DM 工具可将多个业务库数据实时汇聚，形成统一数据中心。三、 AI 时代的数据存储进化现在的模型如 DeepSeek-V3 参数量已达 671B，对“投喂”的数据存储提出了更高要求。核心演进在于：将非结构化数据转化为模型能懂的结构。1. 向量数据库 (Vector DB)：…