Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿Qué significan exactamente las claves Hash y Range en AWS DynamoDb?

Soy nuevo en DynamoDb y miré la documentación de AWS y algunas de las preguntas relacionadas con las claves Hash y Range. Después de todo eso, todavía no estoy seguro de qué significan exactamente y por qué/cómo los usarías. ¿Alguien me puede dar una explicación sencilla con un ejemplo?

Por ejemplo, si quiero crear una tabla de Movie con las columnas Name , Genre , Rating y DateReleased de publicación. Cuál sería la forma correcta de crear la tabla DynamoDb. En el siguiente ejemplo, tengo algo de CloudFormation para intentar crear lo siguiente, pero no estoy seguro de haber usado la propiedad KeySchema correctamente. Cualquier ayuda sería apreciada.

 MovieTable: Type: AWS::DynamoDB::Table Properties: BillingMode: PAY_PER_REQUEST AttributeDefinitions: - AttributeName: "Name" AttributeType: "S" - AttributeName: "Genre" AttributeType: "S" - AttributeName: "Rating" AttributeType: "N" - AttributeName: "DateReleased" AttributeType: "S" KeySchema: - AttributeName: "Name" KeyType: "HASH" - AttributeName: "Genre" KeyType: "RANGE" - AttributeName: "Rating" KeyType: "RANGE" - AttributeName: "DateReleased" KeyType: "RANGE" TimeToLiveSpecification: AttributeName: ExpireAfter Enabled: false SSESpecification: SSEEnabled: true
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Hay 2 casos aquí

Caso 1: una clave hash consta de un solo atributo que identifica de forma única un elemento.

Por ejemplo:

una. si está diseñando una tabla para almacenar datos de estudiantes, puede definir HashKey como Student_Id

b. si está diseñando una tabla para almacenar datos de clase, puede definir HashKey como Class_Id

Caso 2: una clave hash y de rango consta de dos atributos que, juntos, identifican de forma única un elemento

Por ejemplo:

una. si está diseñando una tabla para almacenar el carrito de compras, puede definir HashKey como Product_Id y Range Key (Sort Key) como User_Id. En otras palabras, la combinación de Production_Id y User_Id debe ser única en su tabla.

b. si está diseñando una tabla para almacenar información musical, puede definir HashKey como Artista y Range Key como 'Título de la canción'. En otras palabras, la combinación de Artista y 'Título de la canción' debe ser única en su tabla.

Ahora, para su caso de uso, puede definir una tabla de películas como

HashKey: Título de la película

SortKey: fecha de lanzamiento

Género: Atributo

Calificación: Atributo

Con este diseño, se supone que solo se puede lanzar 1 'Título de película' en 1 día específico. En otras palabras, no hay posibilidad de que se estrenen varias películas con el mismo título el mismo día.

Espero que ya puedas definir la formación de nubes. Si no es así, háganoslo saber, le ayudaremos.

over 4 years ago · Santiago Trujillo Relatório

0

Hay un excelente recurso en línea para DynamoDB: DynamoDB, explicó.

De Anatomía de un artículo | DynamoDB, explicó :

Al crear una nueva tabla, deberá especificar la clave principal de esa tabla. Cada elemento de una tabla se identifica de forma única por su clave principal. En consecuencia, la clave principal debe incluirse con cada elemento que se escribe en una tabla de DynamoDB.

Hay dos tipos de claves primarias. Una clave principal simple utiliza un único atributo para identificar un elemento, como un nombre de usuario o un ID de pedido. El uso de una tabla de DynamoDB con una clave principal simple es similar al uso de la mayoría de los almacenes de clave-valor simples, como Memcached.

Una clave principal compuesta utiliza una combinación de dos atributos para identificar un elemento en particular. El primer atributo es una clave de partición (también conocida como "clave hash") que se utiliza para segmentar y distribuir elementos entre fragmentos. El segundo atributo es una clave de ordenación (también conocida como "clave de rango") que se utiliza para pedir artículos con la misma clave de partición. Una tabla de DynamoDB con una clave principal compuesta puede usar patrones de consulta interesantes más allá de las operaciones simples de obtener/establecer.

Comprender la clave principal es una parte crucial de la planificación de su modelo de datos para una tabla de DynamoDB. La clave principal será su método principal para insertar y actualizar elementos en su tabla.

Básicamente:

  • La clave de partición (o clave hash) decide dónde almacenar el elemento. Es un identificador único que permite acceder rápidamente a los artículos, con velocidades garantizadas. Para su tabla Películas, sería un nombre único para la película, como The Matrix (1999) , o tal vez una identificación única asignada a la película.
  • La clave de ordenación (o clave de rango) se puede usar opcionalmente para extender la clave de partición para proporcionar el elemento 'único'. Por ejemplo, el programa podría ser The Simpsons , pero hay muchos episodios, por lo que la Clave de ordenación se puede usar junto con la Clave de partición para dar un nombre único, como The Simpsons: S02E12

Una base de datos NoSQL es muy buena para almacenar y recuperar datos a través de la clave principal (o clave compuesta). No es bueno para 'escanear' la base de datos en busca de información, ya que esto es muy ineficiente. Por lo tanto, si la información se busca a menudo en campos no primarios (p. ej., género), podría ser ventajoso crear índices secundarios adicionales que puedan encontrar elementos a través de otros atributos. Ver: Índices Secundarios | DynamoDB, explicado.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda