Claude代码BigQuery优化
由Claude Code支持的企业级BigQuery成本优化。具有可衡量投资回报率的数据驱动建议。
这有什么作用
与简单的模式审计不同,此工具包:
- 分析实际查询模式 来自信息方案。工作
- 模拟成本节约 进行模拟运行比较
- 生成安全迁移 使用回滚脚本
- 处理流媒体复杂性 混合模式
差异
| 方法 | 方法 | 输出 |
|---|---|---|
| 基础审计 | 查看架构 | “添加分区” |
| 此工具包 | 分析30天的查询 | “按 event_date,按 user_id, event_type。每月节省847GB(4.23美元)。盈亏平衡:3天。" |
快速开始
git clone https://github.com/kokevidaurre/claude-code-bigquery-optimization.git
cd claude-code-bigquery-optimization
claude
> analyze project.dataset.my_table命令
| 命令 | 描述 |
|---|---|
/analyze | 全面分析:模式、成本、建议 |
| `/simulate | |
| ` | 前后成本比较 |
/migrate | 使用回滚生成迁移 |
/streaming-check | 分析流媒体缓冲区的影响 |
输出示例
## Analysis: project.analytics.events
### Current State
- Size: 2.3 TB
- Partitioning: None
- Clustering: None
- Monthly query cost: ~$890
### Query Patterns (last 30 days)
| Filter Column | Query Count | Bytes Scanned |
|---------------|-------------|---------------|
| event_date | 12,847 | 28.4 TB |
| user_id | 8,432 | 19.1 TB |
| event_type | 6,221 | 14.8 TB |
### Recommendation
Partition by `DATE(event_timestamp)`, cluster by `user_id, event_type`
### Cost Impact
- Current: 2.3 TB per full scan
- Optimized: ~50 GB average (partition + cluster pruning)
- Savings: 97% reduction
- Monthly savings: $863
- Break-even: 2 days engineering time
### Migration Plan
1. Create optimized table (DDL below)
2. Validate row counts match
3. Swap view pointer
4. Monitor for 48h
5. Drop old table
### Rollback
Change view to point back to v1 table.需求
IAM权限
| 许可 | 目的 |
|---|---|
bigquery.jobs.list | 查询模式分析 |
bigquery.tables.get | 模式检查 |
bigquery.tables.getData | 数据验证 |
bigquery.tables.create | 迁移执行 |
bigquery.tables.delete | 清理旧桌子 |
推荐角色: roles/bigquery.dataEditor + roles/bigquery.resourceViewer
工具
- 克劳德代码CLI
bqCLI已通过身份验证,具有足够的权限- 访问目标项目的信息_SCHEMA
建筑
┌─────────────────────────────────────────────────────────────┐
│ Analysis Pipeline │
│ │
│ JOBS_BY_PROJECT ──→ Pattern Extraction ──→ Clustering Rec │
│ │
│ TABLE_STORAGE ───→ Size Analysis ───────→ Partition Rec │
│ │
│ Dry-Run Queries ─→ Cost Simulation ─────→ ROI Calculation │
│ │
│ All Three ───────→ Migration Plan ──────→ DDL + Rollback │
└─────────────────────────────────────────────────────────────┘流媒体策略
对于具有流式插入的表,简单的分区是不够的:
| 场景 | 策略 |
|---|---|
| 低容量(\<1GB/天) | 直接流式传输,接受延迟集群 |
| 高容量,耐查询 | 流→ 每小时批量合并 |
| 实时仪表板 | 双表:流式热+批冷 |
这 /streaming-check 命令会分析缓冲区并推荐正确的模式。
路线图
- \[\]查询模式分析器
- \[\]成本模拟框架
- \[\]带有回滚功能的迁移生成器
- \[\]流媒体缓冲区顾问
- \[\]多表沿袭分析
- \[\]dbt集成(schema.yml生成)
相关
- claude代码bigquery演示 -CLAUDE.md方法的介绍性演示
许可证
麻省理工学院
