"单表 10PB、千万 TPS"这种宣传语我一般不激动,直到我自己真有一张表涨到 10 亿行。
事情是这样的:一个埋点表,按天分区,每天 8000 万行写入,MySQL 分库分表扛了半年,扩容一次掉一层皮。上个月迁到表格存储 Tablestore,这篇就是迁移前后的实操对比——包括哪些数据适合搬过去、怎么建表、以及迁移时踩的三个坑。
一、先搞清楚:Tablestore 不是"另一个 MySQL"
Tablestore 是面向海量结构化数据的 Serverless 表存储,一句话概括它的定位:你只管按量写入和查询,扩缩容它自己管。它支持四种数据模型:
| 数据模型 | 适用场景 |
|---|---|
| 宽表(WideColumn) | 海量元数据、通用 KV 扩展场景 |
| 时序(TimeSeries) | 监控指标、车联网、轨迹溯源 |
| 消息(Timeline) | IM/Feeds 消息流 |
| AI(Agent Memory) | 大模型记忆、RAG 向量检索 |
我迁的是宽表模型。它的主键设计和 HBase 一路过来,但完全 Serverless——没有分片规划这个动作,单表最大 10PB、万亿标量数据上限,自动弹性扩缩容。对刚从 MySQL 过来的人,这是最需要扭转的认知:不用再算"几张表几个分片"。
二、性能数字:官方口径与我的实测
产品页的核心指标我抄在下面,后面附上我这张 10 亿行埋点表的实际感受:
| 指标 | 官方数据 |
|---|---|
| 单行读写延迟 | P99 10ms |
| 点查/批量查 vs HBase | 3~9 倍 |
| 检索延迟 vs 开源 ES | 降低 25% 以上 |
| 单核写入 vs MySQL | 3~5 倍 |
| 可用性 | 99.99%(默认同城冗余,不加价) |
| 可靠性 | 12 个 9 |
我的实测体感:按主键点查稳定在个位数毫秒,这点没有悬念;真正惊喜的是多维检索——以前在 MySQL 里"查某用户最近 7 天加过购物车的商品"要扫分区,现在建个多元索引直接命中。百亿级数据检索毫秒级返回,这个宣传语在我这个量级(10 亿行)上基本属实。
三、实操:一张宽表从建到查
宽表的核心是主键设计。我的埋点表主键定的是三段式:
分区键: device_id (散列写,避免热点)
主键列: event_ts (时间,天然有序)
主键列: event_id (同秒去重)
三个原则:
- 分区键选高基数列。拿 device_id 而不是日期做分区键——按日期分区,写入全压在当天的分区上,历史分区躺平,这是最常见的坑。
- 主键列最多几列要有数。属性列(非主键)可以随便加,但主键列建完改不了,设计时多想一小时,迁移后少哭一场。
- 查询条件必须带主键前缀。这是宽表的命门:不带分区键的查询会全表扫描,10 亿行的全表扫描再快的引擎也救不了你。
多元索引(SearchIndex)补上了非主键查询的短板,Json 数据类型现在也支持了。SQL 查询 2026-05 起支持开放 DML,习惯 SQL 的人不用马上学一套新 API。
四、迁移踩坑记录
坑一:属性列的"空"不是真的空。MySQL 里 NULL 不占空间,Tablestore 里空值也占存储,写入前做一层过滤,存储成本立降。
坑二:批量写入要控并发。按量付费没有预购成本是优势,但瞬时写入 burst 太猛会触发限流。官方给的量级是单表千万级行每秒,日常离这个上限远得很,正常节奏就行。
坑三:冷热分层要主动配。宽表存储支持冷热分层,配了生命周期规则,一个月前的数据自动沉到低频存储——埋点这种"写进去就很少读"的数据,存储成本差距很大。时序表更夸张,配合列存压缩和冷热分层,整体存储成本最高可降 95%。
五、多元索引与向量检索:不止于点查
宽表模型靠主键,但真实查询从来不止按主键。Tablestore 的多元索引把非主键查询这条补上了:地理位置、布尔组合、前缀、嵌套、Json 类型都能建索引,2025-11 起还支持了 Json 数据类型。
另一条增长曲线是 AI 场景:Tablestore 现在能提供向量检索,DiskANN 图索引的内存占用只有开源 HNSW 的 1/10,百亿级向量存储上限,配合 LangChain、Dify 这些框架可以直接当 RAG 的记忆层用。官方给的对比数字是检索延迟比开源 ES 低 25% 以上,向量索引实时流式构建比开源向量引擎快 65%——我的表还没到向量这个量级,但已经把它列进了下半年的评估清单。
六、什么数据别往这儿搬
- 强事务场景:转账、库存扣减,请留给 RDS
- 复杂关联查询:十几张表 join 的分析,请留给 ClickHouse 或者 MaxCompute
- 小规模数据:你那张 500 行的配置表,放 MySQL 挺好,别折腾
Tablestore 的主场是:量大、结构简单、写入凶猛、点查和检索为主。埋点、元数据、IM 消息、物联网时序,都属于这类。数据迁移和生态对接方面,它可以直连 MaxCompute、Spark、Flink、Presto,也集成 Dify、LangChain 这些 AI 框架——AI 应用的记忆存储现在是它的新招牌场景。
如果你手上也有一张"每天涨一千万行"的表,可以到表格存储产品页按量开一张试试,反正纯 Serverless 按量付费,不用先买一年。