Cómo establecer las teclas de partición Dynamodb

Cómo establecer las teclas de partición Dynamodb

La productividad de cualquier base de datos se basa en la accesibilidad de los datos, ya que buscar un elemento de varios objetos puede resultar héctico. Muchas veces, cómo consulta la base de datos siempre es una consideración seria. Las claves de partición son sus puntos de entrada principales en DynamodB siempre que desee hacer consultas altamente eficientes.

Por lo general, las teclas de partición en las tablas son únicas. Por lo tanto, es imposible tener dos o más elementos con la misma clave de partición en una tabla, pero el reverso puede ocurrir cuando se usa en índices. Además, las teclas de partición son imposibles de cambiar una vez que crea una tabla, ya que son inmutables.

Este artículo discute sobre las claves de partición. Nos centraremos en por qué necesita las claves de partición y las mejores prácticas a seguir al configurarlas. Finalmente, analizaremos cómo son esenciales las claves de partición Dynamodb.

¿Qué es una clave de partición de Dynamodb y por qué es importante??

Una clave de partición es una clave primaria simple en DynamodB, que a menudo consiste en un solo atributo. Cada elemento en una tabla DynamodB tiene una clave de partición única para habilitar los procesos de consulta rápidos y eficientes.

Puede emparejar una tecla principal con una tecla de clasificación para hacer una tecla primaria compuesta que contenga dos atributos. Cuando se usa juntos, puede organizar todos los datos en una clave de partición utilizando el valor de la clave de clasificación.

Dado que DynamoDB se reserva los datos como un consorcio de atributos llamados elementos, los atributos tienen claves de valor primario únicas para facilitar la accesibilidad. En particular, los elementos en DynamodB son similares a los registros, campos, columnas o filas en la mayoría de los sistemas de bases de datos.

Además, Dynamodb le permite distribuir los datos en particiones de hasta 10 GB de unidades de almacenamiento. Cada tabla puede, por lo tanto, tener una o más particiones. Puede usar el valor de una clave de partición como entrada a la función de hash interna de la base de datos, con la salida de la función hash que determina la partición en la que se almacena el elemento. Además, la ubicación de un elemento determina la partición en la que se almacena.

Cómo establecer las teclas de partición Dynamodb

Establecer las claves de partición puede ser una tarea cuesta arriba si aún no tiene que entender el concepto. Sin embargo, este proceso puede ser fácil y eficiente una vez que reúne los consejos y trucos necesarios. Las siguientes son algunas de las mejores prácticas a seguir al configurar las claves de partición:

1. Elija las teclas de partición correctas

El tipo de claves de partición determina la conveniencia y la eficiencia de consultar sus datos. Son los principales puntos de entrada para consultar sus datos, y definir los patrones de acceso de cada aplicación es crítico.

Es aconsejable utilizar los atributos de alta tarjetas al configurar sus claves de partición Dynamodb. Los atributos de alta cardinalidad cuentan con los valores distintos para cada elemento y pueden incluir el Employee_ID, Employee_NO, Order_ID, Emailid, CustomerID o OrderID.

2. Use la convención de nombres de PK

Las teclas de partición a menudo usan la convención de nombres de PK. Este método de nombres garantiza un mecanismo de nombramiento preciso sin discriminar según el tipo o modelo de elemento representado.

Por ejemplo, si bien puede tener la tentación de usar PostId y UserId como claves de partición para modelos Post y de usuario en una tabla, DynamodB solo permite una clave de partición para cada tabla. Por lo tanto, no puede usar dos en una sola tabla. Tenga en cuenta que las tablas sin teclas de clasificación pueden tener teclas de partición de identificación.

3. Usar atributos compuestos

Algunas tablas se benefician más de las teclas compuestas. Es decir que necesita más de un solo atributo para formar las teclas únicas. Por ejemplo, puede utilizar convenientemente el customer_id, country_code y product_id para formar una clave de partición (customerID#countrycode#productID). Al mismo tiempo, puede usar el orden_id como la tecla de clasificación.

4. Agregue números aleatorios adecuadamente

Si espera un enorme volumen de escrituras para cada clave, el uso de un prefijo o sufijo adicional hace que los casos de uso pesado sean más eficientes. Por ejemplo, puede usar el número de factura junto con un conjunto de números aleatorios como clave de partición. Recuerde separar las diversas secciones de su clave de partición. Por ejemplo, el número de invasores#125656#0 como clave de partición es ideal para un uso pesado con miles de escrituras por segundo.

Crear una clave de partición Dynamodb

Al igual que las teclas de clasificación, crear una clave de partición en DynamodB implica crear un esquema clave para su mesa. Por supuesto, esto sucede cuando creas una mesa. Esto a menudo implica describir su atributo utilizando el nombre del atributo junto con el tipo de atributo. La siguiente sintaxis ayudará:

AttributeName = string, keyType = string ..

En la sintaxis dada, el nombre del atributo es el nombre real del atributo, mientras que el tipo de atributo puede ser una cadena (s), número (n) o un binario (b).

También puede optar por usar una sintaxis JSON como se muestra en lo siguiente:

[

"AttributeName": "cadena",
"KeyType": "Hash"


]

Cualquiera que sea la sintaxis que elija, el papel del atributo supone la función hash porque estamos creando una clave de partición. Por el contrario, el tipo de clave supone una función de rango al crear las teclas de clasificación.

Finalmente, también es posible cambiar una clave de partición utilizando la siguiente utilidad:

Dinamodbclient.UpdateItem (
"TableName": "MyTable_Name",
"Llave":
"paquete":
"S": "My_PartitionKey"

,
"UpdateExpression": "establecer #Emailaddress =: correo electrónicoaddress",
"ExpressionAttributeNames":
"#Mail": "Correo electrónico Madre"
,
"ExpressionAttributeValues":
":dirección de correo electrónico":
"S": "Direcció[email protected] "


)

La utilidad dada actualiza su atributo de correo electrónico para que se vea como lo que tiene en la direcció[email protected] para el elemento donde la clave de partición (PK) es igual a my_partitionkey.

Conclusión

Al configurar las teclas de partición Dynamodb, no hay un solo método universal. La creación y el uso de las teclas de partición depende del caso de uso. Además, puede investigar los diversos enfoques disponibles y encontrar el más apropiado para su aplicación. Asegúrese de cumplir con las pautas dadas.