DynamoDB: conceptos básicos

Antes de utilizar DynamoDB, debe familiarizarse con sus componentes básicos y su ecosistema. En el ecosistema DynamoDB, trabaja con tablas, atributos y elementos. Una tabla contiene conjuntos de elementos y los elementos contienen conjuntos de atributos. Un atributo es un elemento fundamental de los datos que no requiere más descomposición, es decir, un campo.

Clave primaria

Las claves primarias sirven como medio de identificación única para los elementos de la tabla y los índices secundarios proporcionan flexibilidad de consulta. DynamoDB transmite eventos de registro modificando los datos de la tabla.

La creación de la tabla requiere no solo establecer un nombre, sino también la clave principal; que identifica los elementos de la mesa. No hay dos elementos que compartan una clave. DynamoDB usa dos tipos de claves primarias:

  • Partition Key- Esta clave primaria simple consta de un único atributo denominado "clave de partición". Internamente, DynamoDB usa el valor de la clave como entrada para una función hash para determinar el almacenamiento.

  • Partition Key and Sort Key - Esta clave, conocida como "Clave principal compuesta", consta de dos atributos.

    • La clave de partición y

    • La clave de clasificación.

    DynamoDB aplica el primer atributo a una función hash y almacena elementos con la misma clave de partición juntos; con su orden determinado por la clave de clasificación. Los elementos pueden compartir claves de partición, pero no claves de clasificación.

Los atributos de la clave principal solo permiten valores escalares (únicos); y tipos de datos de cadena, número o binarios. Los atributos que no son clave no tienen estas restricciones.

Índices secundarios

Estos índices le permiten consultar los datos de la tabla con una clave alternativa. Aunque DynamoDB no fuerza su uso, optimizan las consultas.

DynamoDB usa dos tipos de índices secundarios:

  • Global Secondary Index - Este índice posee claves de partición y clasificación, que pueden diferir de las claves de la tabla.

  • Local Secondary Index - Este índice posee una clave de partición idéntica a la tabla, sin embargo, su clave de clasificación es diferente.

API

Las operaciones de API que ofrece DynamoDB incluyen las del plano de control, el plano de datos (por ejemplo, creación, lectura, actualización y eliminación) y transmisiones. En las operaciones del plano de control, crea y administra tablas con las siguientes herramientas:

  • CreateTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DeleteTable

En el plano de datos, realiza operaciones CRUD con las siguientes herramientas:

Crear Leer Actualizar Eliminar

PutItem

BatchWriteItem

Obtiene el objeto

BatchGetItem

Consulta

Escanear

UpdateItem

Eliminar elemento

BatchWriteItem

Los flujos de la tabla de control de operaciones de flujo. Puede revisar las siguientes herramientas de transmisión:

  • ListStreams
  • DescribeStream
  • GetShardIterator
  • GetRecords

Rendimiento aprovisionado

En la creación de tablas, especificas el rendimiento aprovisionado, que reserva recursos para lecturas y escrituras. Utiliza unidades de capacidad para medir y establecer el rendimiento.

Cuando las aplicaciones superan el rendimiento establecido, las solicitudes fallan. La consola GUI de DynamoDB permite supervisar el rendimiento establecido y utilizado para un aprovisionamiento mejor y dinámico.

Leer consistencia

Usos de DynamoDB eventually consistent y strongly consistentlee para soportar las necesidades de aplicaciones dinámicas. Las lecturas eventualmente consistentes no siempre brindan datos actuales.

Las lecturas fuertemente consistentes siempre entregan datos actuales (con la excepción de fallas del equipo o problemas de red). Las lecturas eventualmente consistentes sirven como configuración predeterminada, lo que requiere una configuración de verdaderoConsistentRead parámetro para cambiarlo.

Particiones

DynamoDB usa particiones para el almacenamiento de datos. Estas asignaciones de almacenamiento para tablas tienen respaldo SSD y se replican automáticamente en todas las zonas. DynamoDB gestiona todas las tareas de partición, sin necesidad de que intervenga el usuario.

En la creación de la tabla, la tabla entra en el estado CREANDO, que asigna particiones. Cuando alcanza el estado ACTIVO, puede realizar operaciones. El sistema modifica las particiones cuando su capacidad alcanza el máximo o cuando cambia el rendimiento.