Mario Alexander Vargas Celis
🔥 ¿Qué son las Hot Partitions en DynamoDB?
En Amazon DynamoDB, una hot partition ocurre cuando una partición física específica recibe una carga desproporcionada de tráfico, causando:
- Cuellos de botella en el rendimiento
- Límites de lectura o escritura excedidos
- Latencia alta o errores de throughput
🧱 ¿Cómo funciona el almacenamiento en particiones?
DynamoDB divide internamente las tablas en particiones físicas, y cada partición:
- Tiene capacidad limitada (~3,000 lecturas o 1,000 escrituras por segundo).
- Se determina por el valor de la Partition Key.
📌 Si muchos ítems comparten el mismo valor de clave de partición, todos caen en la misma partición física → ahí nace una hot partition.
🧨 Ejemplo de hot partition
Supón una tabla con esta clave primaria simple:
"UserId": "12345"
Y todos los usuarios que acceden a la app son
"12345"✅ Cómo evitar Hot Partitions
-
Diseño de clave de partición más distribuido📌 Ejemplo:"PartitionKey": "login-2025-05-22-3"
- Usa un UUID o un valor hash distribuido uniformemente.
- Si tienes una fecha o categoría muy popular, inclúyela con un sufijo aleatorio.
-
Usar claves compuestas (partition key + sort key)
- Permite organizar datos dentro de una clave de partición y facilita búsquedas ordenadas.
-
Agregar entropía (sal)
- Añadir un valor aleatorio o hash como parte del partition key:"UserId": "12345#4"
-
Utilizar Global Secondary Indexes (GSI)
- Para consultar por otros atributos sin sobrecargar la clave primaria.
-
On-demand capacity mode
- Deja que DynamoDB escale automáticamente, aunque no soluciona completamente hot partitions si el diseño es deficiente.
📌 Regla de oro
"Diseña tu clave de partición como si millones de usuarios accedieran al mismo tiempo"
