惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
WordPress大学
WordPress大学
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
L
LangChain Blog
雷峰网
雷峰网
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
NISL@THU
NISL@THU
Scott Helme
Scott Helme
量子位
S
Security Affairs
T
Threat Research - Cisco Blogs
博客园_首页
云风的 BLOG
云风的 BLOG
D
Docker
AWS News Blog
AWS News Blog
腾讯CDC
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
U
Unit 42
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
T
The Exploit Database - CXSecurity.com
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 热门话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Last Watchdog
The Last Watchdog
C
Cybersecurity and Infrastructure Security Agency CISA
IT之家
IT之家
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
L
Lohrmann on Cybersecurity
The Hacker News
The Hacker News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Y
Y Combinator Blog
S
Security @ Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
I
InfoQ

博客园 - ChatInfo

一次 Android 抓包引出的疑问:Tor Browser 桌面模式下为何出现直连请求 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 普通视频也能生成4K全景:港中文团队把“空间视频”的门槛往下拉了一大截 当 AI Agent 把调用链拉长,延迟开始成为一门生意 Tailwind CSS 4.2 的真正变化:它正在把一部分前端基础设施直接做进框架 一次推荐系统的性能瓶颈:为什么很多工程团队最终都会用上 Bloom Filter AI 写代码的时代,为什么动态语言开始显得更“便宜”了? 看外语视频神器,将本地视频通过AI技术自动生成字幕及翻译字幕 一不小心写了个免费的跨平台网络考试培训网教系统 ASP.NET Core利用拦截器 IActionFilter实现权限控制 用ASP.NET Core2重写了一款网络考试培训的免费软件 ASP.NET Core2实现静默获取微信公众号的用户OpenId ASP.NET Core2基于RabbitMQ对Web前端实现推送功能 .NET Core2使用Azure云上的Iot-Hub服务 ASP.NET Core2读写InfluxDB时序数据库 ASP.NET Core2调用Azure云上的PowerBI报表展示 利用人工智能(Magpie开源库)给一段中文的文本内容进行分类打标签 在ASP.NET Core2上操作MongoDB就是能这么的简便酷爽(自动完成分库分表) ASP.NET Core2使用Autofac实现IOC依赖注入竟然能如此的优雅简便
Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模
ChatInfo · 2026-04-12 · via 博客园 - ChatInfo

很多团队第一次遇到数据库瓶颈,都会先怀疑性能:SQL 慢、实例不够大、写入扛不住。

但当数据库扩展到几百甚至上千个实例时,真正先崩溃的通常不是查询速度,而是管理这套系统的能力

Etsy 最近完成的一次数据库迁移就暴露了这个阶段的问题:他们把长期运行的 MySQL 分片体系迁移到了 Vitess。整个系统规模大约 1000 个分片,总数据量约 425TB

从技术表面看,这是一次数据库架构升级。但从工程视角看,它更像是一次基础设施重构:数据库不再只是存储系统,而是需要被运营的平台。

Etsy MySQL 迁移 Vitess 架构决策 (1)

     一个典型的大规模 MySQL 分片系统

在互联网公司里,MySQL 分片是非常常见的扩展路径。

基本思路很简单:

  • 按用户 ID 或业务键切分数据
  • 每个分片独立主从复制
  • 应用层根据规则路由查询

这种方式在几十个分片规模时非常有效:结构清晰、成本可控、团队也容易理解。

但随着业务增长,分片数量会持续增加。等到系统扩展到几百个节点之后,一些原本普通的操作会开始变得危险:

  • 一次 schema 修改需要在所有分片执行
  • 数据迁移必须跨大量实例协调
  • 故障排查涉及多个数据库节点
  • 扩容意味着重新划分数据分布

数据库仍然是 MySQL,但整体已经变成一个复杂的分布式系统

问题是,大多数团队仍然在用脚本和人工流程管理它。

     当分片达到四位数,工程复杂度开始失控

Etsy 的数据库规模进入了一个典型阈值:1000 个分片级别

在这个阶段,单次数据库操作都会被放大。

举一个简单例子:

如果需要修改一张核心表结构,在单实例数据库里只是一次 DDL。但在上千分片系统里,它意味着:

  • 在每个分片执行变更
  • 监控执行状态
  • 处理失败节点
  • 保证应用兼容

任何一个环节出错,都会影响线上系统。

当这种操作成为日常工作时,数据库团队会被大量重复运维任务吞掉时间。

这正是很多大规模系统最后选择引入 Vitess 的原因:把分片数据库从“脚本管理”升级为“系统管理”。

     Vitess 做的事情:给 MySQL 加一层控制平面

Vitess 并不是一个新的数据库引擎,它仍然使用 MySQL 作为底层存储。

它增加的是一层控制系统,让分布式 MySQL 可以像一个数据库集群一样被管理。

这套系统的核心角色大致分成几层:

  • vtgate:应用访问数据库的统一入口,负责查询路由
  • vttablet:位于 MySQL 前面的管理代理
  • 分片拓扑管理:维护整个数据库布局
  • resharding 机制:支持在线重新划分分片

应用仍然使用 MySQL 协议连接数据库,但实际执行路径会先经过 Vitess 的路由层。

从开发者视角看,面对的是一个逻辑数据库,而不是上千个实例。

     迁移背后的关键收益:可控的数据库变更

很多人看到这种迁移,会先联想到性能提升。

但对于 Etsy 这种规模的系统来说,真正重要的是可控性

Vitess 提供了一些关键能力:

  • 在线 schema 变更
  • 查询路由控制
  • 分片重划与扩容

这些能力让团队可以逐步调整数据库结构,而不需要一次性在所有节点执行危险操作。

例如,当需要扩展分片规模时,系统可以逐步迁移数据和流量,而不是一次大规模重构。

在大规模数据库环境里,这种渐进式操作能力往往比性能优化更重要。

     为什么越来越多公司在关注 Vitess

过去几年,Vitess 的使用范围明显扩大。

原因其实很直接:数据增长速度已经超过了很多团队的运维能力。

电商、广告系统、SaaS 平台甚至 AI 产品,都在持续产生大量数据。

如果仍然依赖传统分片方式,系统规模每扩大一倍,数据库管理成本也会同步增长。

很快团队就会遇到一个拐点:

数据库本身开始拖慢产品开发。

这时候问题已经不再是“数据库能不能存更多数据”,而是“团队还能不能安全地操作这套系统”。

Vitess 的价值正好落在这个阶段。

     谁会最先为这种架构付费

数据库平台化很少是工程师单独推动的决定。

真正推动它发生的通常是工程效率成本

当数据库规模变大,公司往往面临两个选择:

  • 继续增加 DBA 和基础设施工程师
  • 投入时间建设数据库平台能力

像 Vitess 这样的系统,本质是在减少大量重复运维工作。

因此最直接的买单方通常是:

  • 平台工程团队
  • 技术负责人
  • 需要控制研发效率的 CTO

尤其是在 SaaS 公司里,这笔账非常清晰:如果数据库运维复杂度开始影响产品迭代速度,架构升级就会变成业务决策。

     给技术团队的一个可执行判断

如果你的团队正在维护一套不断增长的 MySQL 分片系统,可以做一个很实际的检查。

把当前数据库拓扑画出来:

  • 一共有多少分片
  • 每个分片的复制结构
  • schema 变更流程如何执行
  • 扩容或迁移需要多少人工步骤

然后问团队一个问题:

如果数据规模扩大三倍,这套系统还能被现在的人数稳定维护吗?

如果答案开始变得不确定,那问题很可能已经不在数据库性能,而在数据库管理方式。

Etsy 的案例给出的信号很明确:

当数据库规模进入千节点级别,真正需要升级的往往不是 MySQL,而是管理它的系统。

其它

关注微信公众号解锁更多技术资讯,感谢您的支持!