表格存储 Tablestore 实践:千里达票务系统海量订单明细存储

简介: 累计出票过亿张,订单明细在RDS已8000万行,查询变慢。把冷订单明细迁到阿里云Tablestore NoSQL宽表,热订单留MySQL双写,查询先MySQL后Tablestore对业务透明。表结构按scene_id分区+order_no排序,建user_id多元索引。3年在线,超期归档OSS。踩坑复盘(分区键改scene_id防热点、建二级索引防全表扫、本地消息表兜底双写一致性、按量+预留组合控成本)。历史订单查询百毫秒内,比分库分表成本低。

表格存储 Tablestore 实践:千里达票务系统海量订单明细存储

千里达票务系统累计出票过亿张,订单明细表在 RDS MySQL 里已经 8000 万行,查询越来越慢,分库分表改造成本又高。把历史订单明细迁到阿里云表格存储 Tablestore(NoSQL 宽表),热订单还在 MySQL,冷订单全在 Tablestore,查询接口对业务透明。

一、为什么用 NoSQL

  • 订单明细写多读少,按 order_no / user_id / scene_id 查;
  • 不需要跨表事务,只要单行读写;
  • 数据量未来 5 年千万级到亿级,MySQL 撑不住。

二、架构

写入: 业务订单 → MySQL(热数据) + Tablestore(全量, 双写)
查询: 先查 MySQL, 没有再查 Tablestore

三、关键实现

3.1 表结构

表名: order_detail
主键: scene_id (分区键) + order_no (排序键)
列: user_id, ticket_type, price, status, created_at
索引: user_id_index (按用户查历史订单)

3.2 写入

client.put_row(
    table_name="order_detail",
    primary_key=[("scene_id", "SC1001"), ("order_no", "O20261018001")],
    attribute_columns=[
        ("user_id", "U888"),
        ("price", 190),
        ("status", "paid")
    ]
)

3.3 查询某用户历史订单

range_query(
    table_name="order_detail",
    index_name="user_id_index",
    primary_key=[("user_id", "U888")],
    limit=20
)

3.4 生命周期

  • 订单 3 年内数据在线;
  • 超过 3 年自动归档到 OSS,需要时再导回。

四、踩坑复盘

  1. 分区键设计错:按 order_no 做分区,热点订单全落一个分区。解决:按 scene_id 分区,同景区数据分散;
  2. 范围扫描性能差:没建二级索引,按 user_id 查全表扫。解决:建多元索引;
  3. 双写一致性:MySQL 写成功 Tablestore 写失败,数据对不上。解决:本地消息表兜底,异步补偿;
  4. 容量规划:早期按最大容量买,月账单浪费。解决:按量 + 预留实例组合。

五、效果与总结

Tablestore 接进来后,历史订单查询不再拖累主库,业务方查"半年前的订单"响应也在百毫秒内。对千里达票务系统这种订单量随时间线性涨的业务,NoSQL 宽表是比分库分表成本低得多的方案。

相关文章
|
云安全 安全 网络安全
|
3天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
|
17天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
4004 1
|
9天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
2062 2
|
16天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2650 46
|
3天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
554 1
|
13天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1519 3
|
10天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
2103 1
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
|
8天前
|
人工智能 Linux API
Magpie, 轻量本地AI网关!免费Token用不完!
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
Magpie, 轻量本地AI网关!免费Token用不完!

热门文章

最新文章