Dominio
Database Management
Perfil de habilidad
PgBouncer, ProxySQL, HikariCP, connection lifecycle, pool sizing, connection multiplexing, prepared statement caching
Roles
9
donde aparece esta habilidad
Niveles
5
ruta de crecimiento estructurada
Requisitos obligatorios
28
los otros 17 opcionales
Database Management
Database Optimization
17/3/2026
Selecciona tu nivel actual y compara las expectativas.
La tabla muestra cómo crece la profundidad desde Junior hasta Principal.
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Understands connection pooling in .NET: knows ADO.NET automatically pools connections, can configure connection string parameters (Max Pool Size, Min Pool Size). Understands the importance of proper Dispose for returning connections to pool. | |
| Backend Developer (Elixir) | Understands connection pooling in Elixir: knows that Ecto uses DBConnection pool, can configure pool_size in Repo configuration. Understands how BEAM process model affects connection management — each Ecto query obtains a connection from the pool. | |
| Backend Developer (Go) | Obligatorio | Understands connection pooling in Go: knows that database/sql has built-in pool support, can configure SetMaxOpenConns, SetMaxIdleConns, SetConnMaxLifetime. Understands why limiting concurrent connections matters. |
| Backend Developer (Java/Kotlin) | Understands connection pooling in Java: knows HikariCP as Spring Boot standard, can configure maximumPoolSize, minimumIdle, connectionTimeout. Understands why pools reuse connections and how it affects performance. | |
| Backend Developer (Node.js) | Understands connection pooling in Node.js: knows that pg (node-postgres) supports pooling via Pool, can configure max connections and idle timeout. Understands why Node.js with single-threaded model still needs connection pooling. | |
| Backend Developer (PHP) | Understands connection management in PHP: knows that each FPM process creates a separate DB connection, understands why persistent connections (PDO::ATTR_PERSISTENT) are needed. Knows that PHP lacks built-in connection pooling. | |
| Backend Developer (Python) | Understands why connection pooling is needed: connection reuse to DB, latency reduction, preventing connection exhaustion. Knows that SQLAlchemy and Django ORM use pools by default, can configure basic parameters (pool size, max overflow). | |
| Backend Developer (Rust) | Understands connection pooling in Rust: knows deadpool and bb8 crates for async connection pooling, can configure pool size through builder pattern. Understands how Rust ownership ensures safe connection return to pool. | |
| Backend Developer (Scala) | Understands connection pooling in Scala: knows HikariCP as JVM standard, can configure through Play Framework or Slick configuration. Understands connection lifecycle in context of functional IO (cats-effect Resource, ZIO Scope). |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Optimizes connection pooling in .NET: configures Npgsql connection pool for PostgreSQL, implements connection string building via NpgsqlConnectionStringBuilder, monitors pool via NpgsqlConnection.GlobalStatistics. Configures EF Core pooling via AddDbContextPool. |
| Backend Developer (Elixir) | Obligatorio | Optimizes connection pooling in Elixir: configures DBConnection pool with queue_target and queue_interval for load shedding, implements connection health checking through Ecto after_connect callback. Monitors pool utilization through :telemetry events. |
| Backend Developer (Go) | Obligatorio | Optimizes connection pooling in Go: calculates optimal pool parameters based on workload, configures pgxpool for PostgreSQL with prepared statements, implements connection health checking. Monitors pool stats via sql.DBStats and custom metrics. |
| Backend Developer (Java/Kotlin) | Obligatorio | Optimizes connection pooling in Java: configures HikariCP for production (leak detection, connection test, validation timeout), uses Spring Boot Actuator for pool metrics monitoring. Understands statement caching and prepared statement pooling through JDBC driver settings. |
| Backend Developer (Node.js) | Obligatorio | Optimizes connection pooling in Node.js: configures Prisma connection pool for different environments, uses Knex pool with acquireConnectionTimeout, implements connection health checking via pool.on('error'). Monitors pool utilization via custom metrics. |
| Backend Developer (PHP) | Obligatorio | Solves connection management in PHP: configures PgBouncer/ProxySQL as external connection pooler for PHP-FPM, optimizes persistent connections considering FPM lifecycle. Monitors connection count via database status commands and configures wait_timeout. |
| Backend Developer (Python) | Obligatorio | Configures connection pooling in Python: optimizes SQLAlchemy pool (QueuePool vs StaticPool, pool_pre_ping, pool_recycle), configures psycopg2/asyncpg pool for async applications. Uses PgBouncer for connection multiplexing in FPM-like architecture. Monitors pool utilization. |
| Backend Developer (Rust) | Obligatorio | Optimizes connection pooling in Rust: configures sqlx pool with connection lifecycle management, implements health checking through deadpool Manager trait, applies connection recycle policies. Monitors pool utilization through tracing spans and custom metrics. |
| Backend Developer (Scala) | Obligatorio | Optimizes connection pooling in Scala: configures Slick with custom HikariCP configuration, uses doobie with HikariTransactor for functional database access, implements connection lifecycle through cats-effect Resource. Monitors pool through JMX and Kamon. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Designs connection management for .NET microservices: configures multi-database routing with separate pools (read replicas), implements connection resilience via Polly retry policies, designs connection drain for graceful shutdown. Diagnoses pool fragmentation and connection leaks via diagnostics. |
| Backend Developer (Elixir) | Obligatorio | Designs connection management for Elixir systems: configures multi-repo architecture with separate pools for read replicas, implements connection warming through start_link init, designs PgBouncer integration for connection multiplexing. Solves prepared statement issues with PgBouncer. |
| Backend Developer (Go) | Obligatorio | Designs connection management for Go microservices: configures read/write pool separation for replica routing, implements connection warming at startup, designs graceful connection drain at shutdown. Optimizes pool for high-concurrency scenarios considering goroutine scheduling. |
| Backend Developer (Java/Kotlin) | Obligatorio | Designs connection management for Java microservices: configures multi-datasource routing via AbstractRoutingDataSource with separate pools for read/write, implements connection warming with initial pool size. Diagnoses connection pool starvation via thread dumps and JMX monitoring. |
| Backend Developer (Node.js) | Obligatorio | Designs connection management for Node.js services: configures separate pools for read/write with automatic routing, implements connection warming, designs graceful shutdown with connection draining. Solves connection exhaustion in serverless (Lambda) via RDS Proxy or PgBouncer. |
| Backend Developer (PHP) | Obligatorio | Designs connection architecture for PHP systems: configures Swoole/RoadRunner for real connection pooling in long-running PHP, implements read/write splitting via ProxySQL, optimizes PgBouncer pool mode (session/transaction/statement) for different workloads. Solves prepared statement issues in transaction mode. |
| Backend Developer (Python) | Obligatorio | Designs connection management for Python systems: calculates optimal pool size (formula connections = (2 * CPU) + disk_spindles), configures multi-pool strategy for read replicas, implements connection routing (primary/replica) via SQLAlchemy binds. Diagnoses connection leaks and stale connections. |
| Backend Developer (Rust) | Obligatorio | Designs connection management for Rust services: implements read/write pool separation with custom routing, optimizes pool for high-concurrency through lock-free checkout, designs connection warming and graceful drain. Benchmarks pool overhead for minimal latency impact. |
| Backend Developer (Scala) | Obligatorio | Designs connection management for Scala microservices: implements functional connection routing (Reader monad for database selection), configures Akka Streams integration with database pool for backpressure-aware data access. Optimizes pool for reactive streaming workloads. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Standardizes connection management for .NET: creates NuGet package for standard pool setup with health checks and metrics, defines connection policies for Azure SQL/PostgreSQL deployments. Designs connection governance with per-service budgets and centralized monitoring. |
| Backend Developer (Elixir) | Obligatorio | Standardizes connection management for the Elixir platform: creates library for standard Ecto pool setup with observability, defines pool sizing strategy based on BEAM schedulers and workload. Designs connection governance for multi-node BEAM cluster. |
| Backend Developer (Go) | Obligatorio | Standardizes connection management for the Go platform: creates internal library for standard pool setup with observability, designs PgBouncer/ProxySQL integration for connection multiplexing. Defines capacity planning process and alerting for database connection limits. |
| Backend Developer (Java/Kotlin) | Obligatorio | Standardizes connection management in Java ecosystem: creates Spring Boot starter for standard pool setup, defines pooling policies for different workload types (OLTP vs OLAP), implements ProxySQL for connection multiplexing. Designs connection budgeting for microservices. |
| Backend Developer (Node.js) | Obligatorio | Standardizes connection management for Node.js platform: creates npm package for standard pool setup with observability, defines connection budgets per service, designs proxy layer for connection multiplexing. Implements best practices for event loop-aware pool sizing. |
| Backend Developer (PHP) | Obligatorio | Standardizes connection management for the PHP platform: defines connection architecture (FPM + PgBouncer vs Swoole native pool), creates monitoring and alerting for connection utilization. Designs capacity planning for database connections considering PHP scaling patterns. |
| Backend Developer (Python) | Obligatorio | Defines connection management strategy for the platform: standardizes pool configuration for different workload types, designs centralized proxy layer (PgBouncer/ProxySQL) for connection multiplexing, implements monitoring and alerting for pool exhaustion. Trains teams on connection issue troubleshooting. |
| Backend Developer (Rust) | Obligatorio | Standardizes connection management for Rust platform: creates internal crate with standard pool setup, designs connection proxy for multi-database routing. Defines pool sizing strategy based on tokio runtime threads and database capabilities. |
| Backend Developer (Scala) | Obligatorio | Standardizes connection management in Scala ecosystem: defines when to use Slick vs doobie vs Quill with different pool strategies, creates abstractions for standardized pool setup. Designs connection governance for Akka Cluster and distributed Scala systems. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Shapes enterprise .NET data access architecture: designs connection strategy for Azure (Azure SQL + Cosmos DB + Redis), defines connection management for hybrid cloud. Influences choice between ADO.NET pooling, Azure SQL Serverless auto-pause, and managed proxy solutions. | |
| Backend Developer (Elixir) | Shapes data access architecture for the Elixir platform: designs connection strategy for BEAM cluster with per-node pools, defines governance for database connection limits across cluster nodes. Influences Elixir database ecosystem development (Ecto, DBConnection). | |
| Backend Developer (Go) | Shapes data access strategy for the Go platform: designs multi-layer connection architecture (app → sidecar proxy → DB), defines connection governance for multi-tenant systems. Influences architectural decisions on connection management for 1000+ microservices. | |
| Backend Developer (Java/Kotlin) | Shapes enterprise Java data access architecture: designs hierarchical connection management (app pool → proxy → database) for 100+ services, defines capacity model for database connections. Influences choice between application pooling, ProxySQL/PgBouncer and cloud-native solutions (RDS Proxy). | |
| Backend Developer (Node.js) | Shapes Node.js data access architecture: designs connection strategy for hybrid deployment (containers + serverless), defines governance for database connection limits. Influences choice between application pooling, PgBouncer, cloud-native proxies (RDS Proxy, Cloud SQL Proxy). | |
| Backend Developer (PHP) | Shapes data access strategy for the PHP platform: designs multi-layer architecture (PHP → PgBouncer → read/write splitting → database cluster), defines connection governance for large-scale PHP deployments. Influences runtime selection (FPM vs Swoole/RoadRunner) considering connection management. | |
| Backend Developer (Python) | Shapes data access architecture: designs multi-layer connection management (app pool → proxy → database), defines capacity planning for connection limits. Influences choice between server-side pooling (PgBouncer) vs application-level pooling for different deployment scenarios. | |
| Backend Developer (Rust) | Shapes data access architecture for Rust platform: designs connection management for extreme scale (100k+ concurrent requests), defines strategy for database proxy vs application pooling. Contributes to Rust database ecosystem (sqlx, deadpool, bb8) with performance improvements. | |
| Backend Developer (Scala) | Shapes data access architecture for Scala platform: designs connection management for JVM-scale deployments, defines strategy for reactive data access with Akka/ZIO with optimal pool utilization. Influences functional database access library development in Scala ecosystem. |