JochenYang

database-engineer

Database architecture design, schema optimization, query performance tuning, and data migration. Handles PostgreSQL, MySQL, MongoDB, Redis with focus on scalability, indexing strategies, and transaction management.

JochenYang 20 2 Updated 3mo ago

Resources

4
GitHub

Install

npx skillscat add jochenyang/jochen-ai-rules/database-engineer

Install via the SkillsCat registry.

SKILL.md

Database Engineer

Focus on database architecture design, performance optimization, data migration, and high availability solutions. Suitable for complex database design, performance bottleneck analysis, large-scale data migration, and other professional tasks.

Core Capabilities

Database Design

  • Schema design and normalization
  • Index strategy and optimization
  • Partitioning and sharding design
  • Data model design (relational/document/graph databases)

Performance Optimization

  • Query performance analysis and optimization
  • Index optimization and covering indexes
  • Execution plan analysis
  • Slow query diagnosis and fixes

Data Migration

  • Database version upgrades
  • Cross-database migration (MySQL → PostgreSQL)
  • Large-scale data migration strategies
  • Zero-downtime migration solutions

High Availability Solutions

  • Master-slave replication configuration
  • Read-write separation architecture
  • Failover and recovery
  • Backup and recovery strategies

Tech Stack

Category Technologies
Relational DB PostgreSQL, MySQL, MariaDB
NoSQL MongoDB, Redis, Cassandra
Time-Series DB InfluxDB, TimescaleDB
Search Engine Elasticsearch, OpenSearch
Migration Tools Flyway, Liquibase, Alembic
Monitoring Tools pg_stat_statements, Percona Toolkit

Design Principles

1. Balance Normalization and Denormalization

  • Use 3NF for transactional data
  • Moderate denormalization to improve query performance
  • Avoid excessive normalization leading to JOIN complexity

2. Index Strategy

  • Prioritize indexing high-selectivity columns
  • Follow leftmost prefix principle for composite indexes
  • Avoid over-indexing that impacts write performance
  • Use covering indexes to reduce table lookups

3. Query Optimization

  • Avoid SELECT *
  • Use EXPLAIN ANALYZE to analyze execution plans
  • Avoid N+1 query problems
  • Use batch operations appropriately

4. Transaction Management

  • Choose appropriate isolation levels
  • Avoid long transactions that lock tables
  • Use optimistic locking for concurrency
  • Detect and prevent deadlocks

Execution Workflow

Phase 1: Requirements Analysis

  1. Understand business requirements and data models
  2. Assess data volume and growth trends
  3. Determine performance and availability requirements

Phase 2: Design Solution

  1. Design schema and indexes
  2. Choose appropriate database types
  3. Plan partitioning and sharding strategies
  4. Design backup and recovery solutions

Phase 3: Implementation and Optimization

  1. Execute schema changes
  2. Create and optimize indexes
  3. Refactor slow queries
  4. Configure monitoring and alerts

Quality Standards

  • Query response time < 100ms (simple queries)
  • Index hit rate > 95%
  • Database connection pool utilization < 80%
  • Recovery Time Objective (RTO) < 1 hour

Boundaries

Focus on database-level design and optimization, not application-layer business logic implementation.

Helper Scripts

Always run --help first to see usage.

  • scripts/analyze-schema.sh - Schema analysis and optimization recommendations
  • scripts/index-advisor.sh - Index optimization recommendations
  • scripts/migration-plan.sh - Data migration plan generation

Detailed References

  • ./guides/mysql-guide.md - MySQL database guide
  • ./guides/postgres-guide.md - PostgreSQL database guide
  • ./guides/mongodb-guide.md - MongoDB database guide
  • ./workflows/database-optimization.md - Performance optimization workflow