Je suis habitué à MySQL et essaie maintenant de comprendre comment utiliser les magasins de valeurs clés. Ce que je n'ai pas vu sont de bons noobs comme des exemples de conception de base de données et comment vous insérer et obtenir des informations.Conception de base de données DynamoDB (magasin de valeur-clé, noSQL)
Est-ce une représentation correcte de la façon dont vous stockez des données de MySQL dans un magasin de valeurs clés?
TYPE: MySQL
TABLE: users
COLUMNS: user_id(primary), username, location
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
Donc, si j'ai raison ci-dessus. Tirer des informations générales sur l'utilisateur est assez simple à comprendre. Mais comment puis-je préformer la requête suivante dans un magasin de valeurs clés? La façon dont je pensais que vous pourriez faire cela facilement est de créer une autre table. (Supposons qu'il ya plus de 5 000 utilisateurs, je suis sûr qu'il ya d'autres façons de le faire si vous aviez seulement quelques centaines)
--Original Table--
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
--Additional "query" Table--
TYPE: Key Value Store
TABLE: user-location
KEY: location
VALUES: user_id
Cependant, nous avons maintenant besoin de régler deux tables lorsque quelqu'un de nouveau rejoint, met à jour leur emplacement, etc. Ce n'est pas une affaire énorme, je suppose, vous devez juste être super précis avec votre code d'application.
Est-ce la meilleure façon de résoudre ces problèmes? Ou est-ce que je manque quelque chose?
Généralement, les magasins de données NoSQL offrent moins de fonctionnalités. Ils ne sont pas exactement connus pour la productivité des développeurs. – usr