Tengo una tabla con las capacidades predeterminadas, es decir, 5 RCU y 5 WCU. Según los documentos, esto daría como resultado que Dynamo DB creara solo una partición.
Estructura de la tabla:
Tengo algunos tipos de elementos con uno o dos identificadores de elementos y algunos con 100.000. Tenemos alrededor de 10 millones de registros en total.
Estoy tratando de entender si solo hay una partición, ¿cómo creará esto el problema de las teclas de acceso rápido? ¿Qué es una tecla de acceso rápido en general?
Sé que es una respuesta antigua, pero encontré información útil.
Como se describe en Particiones y distribuciones de datos :
DynamoDB asigna particiones adicionales a una tabla en las siguientes situaciones:
- Si aumenta la configuración de rendimiento aprovisionado de la tabla más allá de lo que pueden admitir las particiones existentes.
- Si una partición existente se llena por completo y se requiere más espacio de almacenamiento.
Esto significa que no puede asumir cuántas particiones está utilizando. En realidad, los documentos de DynamoDB nunca hablan de particiones físicas. En su lugar, se centran en la clave de partitionKey de una tabla.
Si profundiza más en la página, hay una explicación detallada sobre cómo partionKey usa la clave de partición para codificar la partición lógica/física.
¿Cómo usar una clave de partitionKey para evitar la tecla de acceso rápido?
Como se describe en Diseño de claves de partición para distribuir su carga de trabajo de manera uniforme :
La parte de la clave de partición de la clave principal de una tabla determina las particiones lógicas en las que se almacenan los datos de una tabla. Esto, a su vez, afecta a las particiones físicas subyacentes. La capacidad de E/S aprovisionada para la tabla se divide equitativamente entre estas particiones físicas. Por lo tanto, un diseño de clave de partición que no distribuya las solicitudes de E/S de manera uniforme puede crear particiones "calientes" que provoquen una limitación y usen la capacidad de E/S aprovisionada de manera ineficiente.
Eso simplificado en exceso significa que, por lo general , debe diseñar su clave de partición para maximizar el factor de partición/registro.
Esto no siempre es cierto: por ejemplo, puede tener una gran cantidad de registros bajo la misma clave de partitionKey , que casi nunca se leen o actualizan y las escrituras en esa clave de partitionKey son raras.
En su caso: si espera tener muchas lecturas/escrituras en el mismo tipo de elemento, es mejor modelar sus datos de manera diferente.
Más enlaces útiles:
Mejores prácticas para diseñar y usar claves de partición de manera efectiva
Uso de Write Sharding para distribuir las cargas de trabajo de manera uniforme