Sobrecarga de índices secundarios globales en DynamoDB - Amazon DynamoDB

Sobrecarga de índices secundarios globales en DynamoDB

Aunque Amazon DynamoDB tiene una cuota predeterminada de 20 índices secundarios globales por tabla, en la práctica, se pueden indexar muchos más de 20 campos de datos. A diferencia de las tablas de los sistemas de administración de bases de datos relacionales (RDBMS, por sus siglas en inglés), donde el esquema es uniforme, en DynamoDB las tablas pueden contener diferentes tipo de elementos de datos a la vez. Además, un mismo atributo que se utilice en diferentes elementos puede contener tipos de información totalmente distinta.

Pensemos en el siguiente ejemplo, en el que se ha diseñado una tabla de DynamoDB donde se guarda una gran variedad de tipos de datos.

Esquema de tabla de sobrecarga de GSI.

El atributo Data, que es común a todos los elementos, tiene un contenido que varía en función de su elemento principal. Si crea un índice secundario global para la tabla que utilice la clave de ordenación de la tabla como clave de partición y el atributo Data como clave de ordenación, puede realizar diferentes consultas utilizando el mismo índice secundario global. Estas consultas podrían ser las siguientes:

  • Buscar un empleado por nombre en el índice secundario global utilizando Employee_Name como el valor de clave de partición y el nombre del empleado (por ejemplo Murphy, John) como valor de clave de ordenación.

  • Utilizar el índice secundario global para buscar todos los empleados que trabajan en un determinado almacén a través del ID de almacén (por ejemplo, Warehouse_01).

  • Obtener una lista de las contrataciones recientes consultando el índice secundario global con HR_confidential como valor de clave de partición y utilizando el rango de fechas como valor de clave de ordenación.