关于服务
翻译我是一名数据库工程师,花费大部分时间在真实生产负载下调整 MySQL 和 PostgreSQL。多年来,我继承了许多系统,其中一个慢查询可能会导致整个应用崩溃,我学到的经验是:答案几乎从来不是仅仅购买更多硬件。我从测量开始 — 阅读执行计划,检查慢查询日志,查看缓冲池和缓存命中 — 然后才决定真正需要改变的内容。这种纪律让我避免猜测,并保持您的账单合理。
我的大部分工作适合几个领域。我重写重查询以触及更少的行,设计基于应用实际访问数据的索引,而不是对每一列进行索引,并构建提供读取扩展和热备份的复制方案,在故障转移期间没有意外。我认真对待备份:这意味着测试恢复,而不仅仅是将转储放在日程上并寄希望于此。当一个模式需要在具有数百万行的实时表上更改时,我计划在线运行迁移,分步骤进行,并准备好回滚计划,以便在部署期间没有人屏住呼吸。
客户欣赏我用简单的语言解释权衡,并将数据库留在他们团队可以自行维护的状态。我记录了变化的内容和原因,并乐于与您的开发人员并肩工作,以便知识得以保留。
— MySQL 和 PostgreSQL 调优和配置
— 查询优化和执行计划分析
— 索引设计和审查,删除未使用的索引
— 复制设置:流式、逻辑、读取副本、故障转移
— 备份策略和经过测试的时间点恢复
— 安全的在线模式迁移和回滚计划
— 慢查询诊断、死锁和锁故障排除
— 容量规划、监控和警报配置
我的大部分工作适合几个领域。我重写重查询以触及更少的行,设计基于应用实际访问数据的索引,而不是对每一列进行索引,并构建提供读取扩展和热备份的复制方案,在故障转移期间没有意外。我认真对待备份:这意味着测试恢复,而不仅仅是将转储放在日程上并寄希望于此。当一个模式需要在具有数百万行的实时表上更改时,我计划在线运行迁移,分步骤进行,并准备好回滚计划,以便在部署期间没有人屏住呼吸。
客户欣赏我用简单的语言解释权衡,并将数据库留在他们团队可以自行维护的状态。我记录了变化的内容和原因,并乐于与您的开发人员并肩工作,以便知识得以保留。
— MySQL 和 PostgreSQL 调优和配置
— 查询优化和执行计划分析
— 索引设计和审查,删除未使用的索引
— 复制设置:流式、逻辑、读取副本、故障转移
— 备份策略和经过测试的时间点恢复
— 安全的在线模式迁移和回滚计划
— 慢查询诊断、死锁和锁故障排除
— 容量规划、监控和警报配置