una tutorial tabla query que español dynamodb dynamo crear aws amazon-web-services amazon amazon-dynamodb

amazon web services - tutorial - ¿Cómo unir tablas en AWS DynamoDB?



dynamodb tutorial español} (4)

Sé que todo el diseño debe basarse en agregados naturales (documentos), sin embargo, estoy pensando en implementar una tabla separada para las localizaciones (idioma, clave, texto) y luego usar claves en otras tablas. Sin embargo, no pude encontrar ningún ejemplo al hacer esto.

Cualquier puntero puede ser útil!


Con DynamoDB, en lugar de unirse, creo que la mejor solución es almacenar los datos en la forma que desea leerlos más adelante.

Si necesita realizar consultas de lectura complejas, es posible que haya caído en la trampa de esperar que DynamoDB se comporte como un RDBMS, pero no lo es. Transforma y da forma a los datos que escribes, mantén la lectura simple.

El disco es mucho más barato que el cálculo en estos días; no tenga miedo de desnormalizarse.


Debe consultar la primera tabla, luego iterar a través de cada elemento con una solicitud de obtención en la siguiente tabla.

Las otras respuestas no son satisfactorias, ya que 1) no responde la pregunta y, lo que es más importante, 2) ¿cómo puede diseñar sus tablas con anticipación para conocer su futura aplicación? La deuda técnica es demasiado alta para cubrir razonablemente las posibilidades futuras ilimitadas.

Mi respuesta es horriblemente ineficiente, pero esta es la única solución actual a la pregunta planteada.

Espero con impaciencia una mejor respuesta.


Sé que mi respuesta es un poco tarde, por un par de años. Sin embargo, pude obtener información adicional sobre Amazon DynamoDB & Joins, que podría beneficiarlo a usted (o tal vez a otra persona, que podría tropezar con esta discusión, mientras investigaba esta información en el futuro).

Para llegar al punto, pude localizar algo de documentación en el sitio web de Amazon DynamoDB, que establece que se puede utilizar el lenguaje de consulta de Apache HiveQL, para realizar uniones en las tablas, columnas y datos de Amazon DynamoDB, etc.

Consulta de datos en DynamoDB (w / HiveQL): https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Querying.html

Trabajando con Amazon DynamoDB y Apache Hive: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Tutorial.html

Procesamiento de datos de Amazon DynamoDB con Apache Hive en Amazon EMR: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.html

Espero que esta información ayude a alguien, si no el cartel original.


Tiene razón, DynamoDB no está diseñado como una base de datos relacional y no admite operaciones de unión. Puede pensar en DynamoDB como un simple conjunto de pares clave-valor.

Puede tener las mismas claves en varias tablas (por ejemplo, ID de documento), pero DynamoDB no las sincroniza automáticamente ni tiene ninguna característica de clave externa. Los ID de documento en una tabla, aunque se denominan de la misma forma, son técnicamente un conjunto diferente a los de una tabla diferente. Depende de su aplicación para asegurarse de que esas claves estén sincronizadas.

DynamoDB es una forma diferente de pensar sobre las bases de datos y es posible que desee considerar el uso de una base de datos relacional administrada como Amazon Aurora: https://aws.amazon.com/rds/aurora/

Una cosa a tener en cuenta, Amazon EMR sí permite unir las tablas de DynamoDB, pero no estoy seguro de que sea lo que está buscando: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMRforDynamoDB.html