AWS DynamoDB se basa en tablas e índices para almacenar y organizar los datos. En estas tablas, hay claves principales que ayudan en la organización de datos y la recuperación de elementos. Por lo tanto, una tabla o índice DynamodB siempre tiene una clave primaria simple o una clave primaria compuesta.
Ya discutimos las simples claves primarias en este sitio web. Este artículo se centra en las teclas de partición de Dynamodb. Las secciones que cubrimos incluyen la definición de una clave compuesta, las mejores prácticas para crear claves compuestas y cómo crear una tecla compuesta para su mesa.
¿Qué es una tecla compuesta de Dynamodb??
Una tecla compuesta DynamodB es un conjunto de atributos que consisten en una tecla de partición y una tecla de clasificación. Todas las tablas con teclas de clasificación tienen claves primarias compuestas, mientras que todas las tablas sin teclas de clasificación tienen teclas primarias simples. También se conocen como claves de rango hash o teclas primarias compuestas de DynamodB.
Curiosamente, las claves compuestas no existen dentro de los elementos de la tabla como con los otros atributos. En cambio, es un concepto abstracto que puede crear o pensar como una combinación de una clave de partición y una clave de clasificación.
Considere las claves compuestas como sus claves principales al consultar sus tablas o al realizar cualquier operación que requiera una clave principal. Por lo tanto, todas las actualizaciones, eliminar, actualizar o cualquier elemento que necesite la inclusión de una clave primaria tenga la clave de partición y la clave de clasificación.
Si bien una clave de partición o una clave primaria simple aún ayuda en la mayoría de las operaciones, las claves compuestas agregan una eficiencia en la mayoría de las operaciones de DynamodB y mejoran el rendimiento de su base de datos. Además, las claves de partición también le permiten filtrar los resultados de la consulta de manera más eficiente utilizando las operaciones de comparación.
Las mejores prácticas para crear las teclas compuestas de Dynamodb
Asegúrese de que se adhiera a lo siguiente:
Elija una clave de partición única: Su clave de partición debe ser única y tener la mayor cardinalidad posible. Una clave de partición con una cardinalidad extremadamente baja puede afectar su almacenamiento y distribución de datos.
Puede usar los valores que no se pueden compartir entre los elementos en una tabla. Pueden incluir las direcciones de correo electrónico, los números de identificación o los nombres de usuario. Por lo tanto, un user_id funciona bien en la columna de clave de partición para una tabla de usuarios. Del mismo modo, una tabla de empleados puede tener el empleado_id como clave de partición.
Su clave de clasificación debe complementar los patrones de acceso: Su clave de clasificación debe recopilar la información relacionada en un solo lugar para operaciones de consulta eficientes. Una buena clave de clasificación mejora la selectividad de los elementos de su tabla durante la recuperación por un comando de consulta.
Cómo crear una tecla compuesta en Dynamodb
Para crear una tecla compuesta, puede usar el comando CREATE-TABLE con los parámetros de -key-schema y -attribute-definitions.
El parámetro -key -schema especifica la estructura clave principal de la tabla y puede incluir uno o más elementos. Especifique primero el elemento de esquema clave, seguido de cualquier índice secundario. Cada elemento en el esquema clave consiste en un nombre de atributo y un tipo de tecla.
Por otro lado, el parámetro -Attribute -Definitions especifica los atributos que componen la clave principal y cualquier índice secundario. Cada definición de atributo consta de un nombre de atributo y un tipo de atributo.
Aquí hay un ejemplo sobre cómo puede usar estos parámetros para crear una tabla DynamodB con una clave primaria compuesta que consta de dos atributos: partition_key y sort_key:
AWS Dynamodb Create-Table \
--nombre de la tabla\
--attribute-definitions atributename = partition_key, attributessype = s atributename = sort_key, attributeteType = s \
--Key-Schema atributename = partition_key, keyType = hash atributename = sort_key, keyType = range \
--ReadCapacityUnits de reinsputación a través de la provisión = 10, WriteCapacityUnits = 10
El comando dado crea una nueva tabla DynamodB con una clave primaria compuesta que consta de la tecla Partition_Key como la tecla Partition (Hash), y el atributo Sort_Key como la tecla Sort (Rango). Proceda a definir los atributos clave principales en el parámetro -Attribute -Definitions y el esquema clave en el parámetro -Key -Schema.
También puede crear una tecla compuesta simplemente definiendo la tecla de partición del elemento y la tecla compuesta utilizando la operación Putitem. Por ejemplo:
Dinamodbclient.Putitem (
"TableName": "mytableName",
"Artículo":
"paquete":
"S": "Partitionkey"
,
"SK":
"S": "Sortkey"
,
"correo electrónico":
"S": "[email protected] "
)
Conclusión
Este artículo contiene todo lo que necesita saber sobre las teclas compuestas de Dynamodb. En particular, es esencial elegir la clave de partición y ordenar la tecla cuidadosamente, ya que afectan significativamente el rendimiento y la escalabilidad de su tabla DynamodB. Una clave primaria compuesta es ideal para consultar y filtrar los datos en DynamodB en función de la tecla de partición y clasificar la tecla.