AWS DynamoDB: trabajo con índices

Un índice es una estructura de datos que nos permite realizar consultas rápidas en diferentes columnas de una tabla. Después de crear un índice, la base de datos lo maneja por nosotros. Cada vez que se modifican datos en la tabla, el índice se modifica automáticamente para reflejar los cambios en la tabla. Podemos crear y usar un índice secundario para consultar más rápido. Al crear un índice secundario, debemos especificar sus atributos clave: una clave de partición y una clave de clasificación. Después de crear el índice secundario, podemos realizar operaciones como Query o Scan tal como lo hacemos en la tabla. DynamoDB no tiene ningún optimizador de consultas, por lo que se usa un índice secundario mientras lo consulta o escanea. DynamoDB admite dos tipos de índices que se analizan a continuación en detalle:

Índice secundario mundial:

Un índice secundario global (GSI) es un índice con una clave de partición y una clave de clasificación que puede ser diferente de las claves de la tabla base. Se dice que un índice secundario global es «global» porque las consultas en el índice pueden cubrir todos los datos de la tabla base, en todas las particiones. Un índice secundario global no tiene limitaciones de tamaño como las de la tabla base y tiene su propia configuración de rendimiento de lectura y escritura aprovisionada que es independiente de la de la tabla. Por lo tanto, para la recuperación rápida de resultados sobre atributos no clave, utilizamos índices globales secundarios. Vea el siguiente ejemplo:

JuntaExámenes

Se ha creado una tabla denominada BoardExams con la clave de partición como StudentID y la clave de ordenación como Stream. Los datos almacenados en la tabla anterior se representarán como se muestra en la siguiente imagen:

Representación de la tabla Base

Ahora, supongamos que necesitamos saber las calificaciones de matemáticas obtenidas en cada secuencia. Por lo tanto, creamos un GSI llamado St ream-index con clave de partición como Stream y clave de clasificación como Maths. Vea la imagen de abajo:

Nota: La clave de partición de la tabla base también se proyectará en el índice. 

Stream-índice

Índice secundario local:

Un índice secundario local tiene la misma clave de partición que la tabla base pero una clave de clasificación diferente. Es «local» en el sentido de que cada partición de un índice secundario local tiene como ámbito una partición de tabla base que tiene el mismo valor de clave de partición. Se crea cuando se crea una tabla. Vea la imagen de abajo:

Publicación traducida automáticamente

Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *