其他
需要按引擎评估 PlanetScale 安全…
在 PlanetScale 数据库评估中,按跨引擎、Vitess、Postgres 三类将发现映射到推荐功能,并输出适用性、缺口、价值、推荐 ID 与审批要求。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
需要按引擎评估 PlanetScale 特定
解决思路
- Purpose:将数据库发现映射到推荐的 PlanetScale 功能,确保评估不遗漏主要安全与运维面。
- 跨引擎 / Query Insights:对每个生产数据库推荐 Query Insights,并审查慢查询、高开销、高频和报错的查询模式。
- 跨引擎 / Query Insights:在 Postgres 中诊断 CPU 压力时,用 Insights API 按 CPU 排序(`sort=cpuTime`)。
- 跨引擎 / Query Insights:对分片 Vitess,按查询模式审查 vindex 使用情况,并审查索引或路由变更后的使用趋势。
- 跨引擎 / Query Insights:将回归与部署关联起来。
- 跨引擎 / Query Insights:使用 tags/comments 将查询映射回代码。
- 跨引擎 / Query Insights:在 Query Insights 中使用标签过滤/导航:两个引擎都使用 tags API(`insights/tags`、`insights/tags/summaries`),并在 Vitess dashboard 中使用 `tag:key:value` 过滤和按执行标签下钻。
- 跨引擎 / Query Insights:将 anomalies 作为告警和自动化输入。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:anomalies。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:storage pressure。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:branch readiness/sleeping。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:primary promotion。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:maintenance。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:schema recommendations where available。
- 跨引擎 / Webhooks:为运维事件推荐 Webhooks:deploy request lifecycle for Vitess。
- 跨引擎 / MCP and agents:多数自主分析使用 insights-only MCP。
- 跨引擎 / MCP and agents:仅在窄作用域且默认只读时使用 full MCP。
- 跨引擎 / MCP and agents:将数据库目标选择和安全规则放入 `AGENTS.md`。
- 跨引擎 / MCP and agents:让 agents 生成 PRs/issues/change plans;数据库变更由人类批准。
- 跨引擎 / SQLCommenter / query tags:添加框架原生、兼容 SQLCommenter 的埋点。
- 跨引擎 / SQLCommenter / query tags:使用低基数标签。
- 跨引擎 / SQLCommenter / query tags:包含 application、service、route/job、feature、source 和 release SHA。
- 跨引擎 / SQLCommenter / query tags:避免 PII 和无界 ID。
- 跨引擎 / Schema recommendation workflow:分诊 open recommendations。
- 跨引擎 / Schema recommendation workflow:与代码和 Insights 关联。
- 跨引擎 / Schema recommendation workflow:转换为 migrations 或 branch changes。
- 跨引擎 / Schema recommendation workflow:在生产前测试。
- 跨引擎 / Schema recommendation workflow:仅通过已批准工作流应用。
- Vitess / Safe migrations:对生产分支和接受 deploy requests 的 staging 分支推荐 safe migrations。
- Vitess / Deploy requests:对进入受保护分支的 schema 变更推荐 deploy requests。
- Vitess / Force cutover discipline:记录谁可以对因长事务延迟的 deploy requests 使用“force cutover now”;它会停止运行中的事务以完成 schema cutover,因此频繁使用应先触发工作负载审查,再决定是否把 aggressive cutover 作为数据库默认。
- Vitess / Admin approval:在多管理员组织中,对生产 deploy requests 推荐 admin approval。
- Vitess / Admin approval:在单管理员组织中,审批本身不能防住 agents:该管理员可以打开并批准同一个 deploy request;优先使用独立 agent 身份,或使用不能审批 deploy requests 的 service token。
- Vitess / Gated deployments:当 cutover 时机和人工控制重要时推荐 gated deployments。
- Vitess / Schema revert runbook:记录回滚责任以及与应用回滚的关系。
- Vitess / Branch strategy:使用 production、staging 和短生命周期 development 分支,并在受保护目标上启用 safe migrations。
- Vitess / Sharding/keyspace review:当查询模式或增长显示分片感知问题时推荐 review;不要自动 reshard。
- Postgres / User-defined roles:为应用服务器推荐 user-defined roles,而不是 default role;如果角色由 Terraform 管理且密码不应留在 Terraform state,优先使用 `planetscale_postgres_redacted_branch_role`,并配合单独的密码重置和 secret-manager 存储路径。
- Postgres / pg_strict:评估后为应用角色推荐 pg_strict,尤其用于阻止意外的全表 update/delete 错误。
- Postgres / Traffic Control:为 agents、exports、reports、workers、integrations、BI 和已知高开销 fingerprints 的资源隔离推荐 Traffic Control。
- Postgres / Backups and PITR:验证保留期和恢复演练覆盖范围;如果 Terraform 是客户的事实来源,在其中管理备份策略,使备份姿态变更作为基础设施代码被审查。
- Postgres / PgBouncer and connection pooling:在连接抖动或 serverless/edge 行为造成压力时推荐 PgBouncer 和连接池,但受 transaction-pooling 限制约束。
- Postgres / Private connectivity and IP restrictions:对需要私有网络姿态或减少公网暴露的客户推荐私有连接和 IP 限制;将变更视为有生产风险。
- Postgres / Extensions:仅当用例明确且接受重启/激活影响时推荐扩展;当慢查询的自动计划日志能显著改善诊断且产生的日志量可接受时,包含 `auto_explain`;如果 Terraform 管理 Postgres 分支参数或支持的扩展,保持该事实来源与已批准的 dashboard/API 变更一致。
- Postgres / Live connections:在活跃连接压力事件中检查 `pscale branch connections top`,以识别 sessions、blockers 和 idle-in-transaction 根因,而不依赖正常数据库连接容量。
- Output:对每个矩阵项标记 Applies:yes/no/unknown。
- Output:标记 Current state。
- Output:标记 Gap。
- Output:标记 Value:该功能解决的具体可测量发现(query fingerprint、anomaly count、incident、metric);说明机制和测量;Gap 是有量化影响的能力缺口,不是被安全规避的风险。
- Output:标记 Recommendation ID。
- Output:标记 Approval requirement。
- Output:最后以“No changes have been applied.”结尾。
适用边界 · 注意事项
- 不要自动 reshard;只有查询模式或增长明确显示分片感知问题时才做 sharding/keyspace 审查。
- 不要在未评估前对应用角色启用 pg_strict;不要在没有明确用例、未接受重启/激活影响或日志量不可接受时启用扩展(含 `auto_explain`)。
- 不要在宽泛权限下使用 full MCP;不要依赖单管理员组织的审批防住 agents,也不要频繁使用“force cutover now”作为默认;应使用窄作用域只读默认、独立 agent 身份或不能审批 deploy requests 的 service token。