项目简介:
PolarDB-X Skills:https://github.com/polardb/polardbx-skills
为 AI 代码智能体(Code Agent)提供PolarDB-X相关的 Agent Skills,帮助开发者更好地使用和操作 PolarDB-X。核心能力:
- 为 AI 智能体提供 PolarDB-X 的专业知识,提升Agent数据处理任务的准确性。
- 提供可复用的 Skills,覆盖 SQL 编写、运维管理、应用开发等场景。
- 提供精炼、实用的操作指南,包含可直接运行的示例。
一个真实的烦恼
作为后端开发或 DBA,手上有一张 8 亿行的订单表,查询越来越慢,老板开始催你优化。
你知道答案是"上分布式、拆分区",但真到动手的时候,一堆问题扑面而来:
- 分区键选哪个?
选主键?选业务字段?选错了,要么写热点,要么查询变成全分片扫描,比不拆还慢。 - GSI 怎么建?
普通 GSI、Clustered GSI、UGSI 分别什么时候用?建多了浪费资源,建少了查询兜不住。 - 分多少个区?
64?128?256?拍脑袋总觉得心里没底。 - 主键和唯一键怎么处理?
PolarDB-X 分区表的规则和单机 MySQL 不一样,处理不好会丢数据。
以往搞定这些问题的标准流程是:翻文档 → 看最佳实践 → 对照自己的场景 → 反复调整 → 找人 Review。现在,一句话就够了。
AI 时代,数据库设计该有新的打开方式
大模型能写代码、能做翻译,但面对数据库分区设计这种强领域知识 + 强上下文依赖的任务,通用大模型往往无法给出可靠的方案——它不了解 PolarDB-X 的分区算法细节,不知道 Clustered GSI 和普通 GSI 的取舍逻辑,更不清楚你的查询模式应该怎么匹配分区策略。
这正是 PolarDB-X Skill 要解决的问题。
我们把 PolarDB-X 多年沉淀的分布式分区最佳实践,封装成了一个可以在 AI 编程助手中直接调用的 Skill:polardbx-sql。它不是通用问答,而是一个懂 PolarDB-X 内核规则的分区设计专家。
实战:8 亿行订单表,从描述到方案只需一步
安装 Skill 后,只需要在Agent窗口输入这:
我们有一张订单表 t_order,目前是单表,有 8 亿行数据,查询越来越慢。表结构大概是:order_id BIGINT 主键,buyer_id BIGINT,seller_id BIGINT,amount DECIMAL,create_time DATETIME,status TINYINT。最频繁的查询是按 buyer_id 查订单列表,其次是按 order_id 单条查询,还有一些按 seller_id 查询。我想转成 PolarDB-X 分区表,AUTO 模式,请帮我设计分区方案并给出完整 SQL。
Skill 会直接输出完整的分区方案和可执行 DDL:
这不是模板拼接,而是完整的决策推理
很多人第一反应会问:这和 ChatGPT 拼模板有什么区别?
区别在于,Skill 的每一个输出都经过了基于 PolarDB-X 最佳实践的推理链:
决策项 |
Skill 的推理过程 |
分区键 → order_id |
主键,基数最高,无热点,等值查询频率高 |
分区算法 → KEY |
单列等值查询为主,KEY/HASH 即可覆盖约 90% 场景 |
分区数 → 256 |
几倍于 DN 节点数,单分区控制在亿级以下,适合绝大多数负载 |
buyer_id → Clustered GSI |
最高频查询字段,一对多场景需要回表多列,Clustered GSI 避免回表开销 |
seller_id → 普通 GSI |
查询频率较低,返回行数少,普通 GSI + 少量回表成本可控 |
主键处理 |
分区表主键必须包含分区列才能保证全局唯一,Skill 自动处理 |
关键区别:Skill 会根据你描述的查询模式(哪个字段查得多、查的是列表还是单条),来决定每个 GSI 该用什么类型。 这不是"有查询就建索引"的机械操作,而是基于查询特征的精准匹配。
你的场景不一样?没关系
polardbx-sql 能适配各种真实业务场景:
多维度查询
订单表同时按 order_id 和 buyer_id 查,且两者后几位相同;
→ Skill 推荐 CO_HASH 分区,让两个字段的数据天然落在同一分片
时序数据 + 数据过期
日志表按月清理过期数据;
→ Skill 推荐 HASH + RANGE 二级分区 + TTL,删数据只需 DROP PARTITION
多租户隔离
每个租户的数据要逻辑隔离;
→ Skill 推荐 LIST + HASH 组合分区
有唯一约束的表
我有 UNIQUE KEY 不能丢;
→ Skill 给出三步法迁移方案:先建 UGSI,再扩分区,确保唯一性不丢失
你只需要描述"表长什么样、SQL 怎么查",Skill 来做分区设计。
三步开始使用
第一步:安装 Skill
npx skills add https://github.com/polardb/polardbx-skills --skill polardbx-sql
第二步:用自然语言描述你的表和查询
把表结构、数据量、主要查询模式说清楚就行,不需要严格格式。
第三步:拿到方案,Review 后直接执行
Skill 输出的是可执行的 DDL,Review 确认后直接在 PolarDB-X 上跑。
适用于 PolarDB-X 2.0 企业版(分布式版)AUTO 模式数据库。
写在最后
在 AI 时代,数据库运维和设计的门槛正在被重新定义。过去需要翻文档、找专家、反复验证的分区设计工作,现在可以通过一个 Skill 在几秒内完成。
但这不意味着 DBA 的价值在降低——恰恰相反,当 AI 接管了重复的方案设计工作,DBA 可以把更多精力放在架构决策、性能调优和稳定性保障这些真正需要经验判断的事情上。
后续我们会持续推出更多覆盖运维、诊断、迁移等场景的 Skill,欢迎试用,也欢迎到 GitHub 仓库提 Issue 和 PR,一起让分布式数据库更好用。