Soy nuevo en Amazon Dynamo DB, he creado una tabla de usuarios y una tabla de direcciones. Y quiero recuperar a todos los usuarios con su dirección particular, ya que asigné user_id en la tabla de direcciones a cada dirección. Entonces, ¿cómo puedo obtener información de usuario con dirección con una consulta en lugar de consultar tanto la tabla como la combinación después? ¿Hay alguna forma en que en MySQL podamos usar JOIN?
Dynamodb no está diseñado para este tipo de consultas; especialmente las consultas de agregación no son ideales. DynamoDB es principalmente bueno para búsquedas rápidas de patrones de acceso predefinidos (por ejemplo, obtener todos los artículos en el carrito de compras para el ID de usuario X).
Dado que las direcciones son propiedades únicas de los usuarios, es posible que pueda agregar un atributo a la tabla de ID de usuario. Básicamente, tiene una tabla con todos los datos de usuario y sus propiedades, incluida la dirección, que puede consultar por ID de usuario.
Si necesita admitir diferentes consultas, le sugiero que las anote primero antes de decidir sobre su modelo de datos. (Por ejemplo, obtenga todos los usuarios y ordene por apellido, obtenga todos los usuarios que viven en la ciudad X). Si el modelo de datos en dynamodb es demasiado complejo para admitir todos estos patrones de acceso, es posible que deba cambiar a una base de datos similar a SQL.
Editar: tenga en cuenta que hay formas de modelar relaciones en dynamodb pero no son triviales. Para ver algunos ejemplos, consulte el siguiente enlace. Pero como se sugirió anteriormente, primero defina sus patrones de acceso antes de decidir sobre su modelo de datos. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-modeling-nosql-B.html