Désolé si cette question est très basique mais j'ai commencé à ne pas voir de stockage SQL pour une application android et j'ai trouvé des terminaux et servlets du moteur App qui, selon moi, exposent une API pour faire des opérations CRUD .Java POJO classes et No SQL Datastores
La chose qu'il est difficile de saisir pour moi est le format des objets stockés et son efficacité. J'ai lu qu'en utilisant des bibliothèques comme objecte/gson les objets sont stockés dans json. Maintenant, supposons que j'ai une classe Class qui a un attribut Friends qui est une liste de Person. Si deux personnes différentes partagent le même ami, elles seront stockées dans deux objets JSON différents, dupliquant l'information. Dois-je faire une classe différente pour le stockage qui conserve l'identifiant des amis et puis lors du chargement d'une personne trouve ses amis à partir d'une carte de hachage de la personne? Mais cela impliquerait de demander à tous les services Web de construire cette carte, même si je veux seulement trouver une personne sans amis. Une autre solution consisterait à créer une 'requête' côté serveur, à renvoyer les objets amis de la personne demandée et à les placer dans une table de hachage pour les futures 'requêtes' d'autres personnes. De cette façon, je transfèrerais moins de données à chaque fois, mais je consommerais plus de fois le service web, ce qui pourrait conduire à épuiser le quota quotidien de limite de demande.
Encore une fois désolé pour la question débutant. J'apprécierais toutes les directions, les schémas pour résoudre ce problème, en un mot comment efficacement - dans le sens des objets de magasin d'espace et les récupérer efficacement - dans le sens de la quantité de requêtes et de transfert de données du service Web dans un base de données nosql.
Un grand merci pour votre contribution, mais si dans aucun Sql vous pouvez stocker des informations en double, comment puis-je faire face à des incohérences après les mises à jour? Dire que je mets à jour la personne B, je devrais mettre à jour chaque personne qui a B comme ami?Ce n'est pas très efficace – MithPaul
Je pense que vous avez identifié une complexité classique de la modélisation de données NoSQL. Vous pouvez imiter le concept de base de données relationnelle des clés étrangères en stockant les Réf > s des amis de la personne dans l'entité personne, voir la documentation Objective sur Entités. Mais dans ce cas, vous devrez aller chercher tous les amis d'une personne quand vous voulez que la personne soit avec tous les amis et cela pourrait avoir un impact important sur la performance. Tout dépend de vos besoins exacts et vous devrez peut-être faire des choix. Il y a une littérature importante sur la philosophie NoSQL sur le web, en particulier sur les compromis comme celui-ci. –
Notez que vous pouvez également utiliser Cloud Endpoints avec Cloud SQL, le «service de base de données MySQL entièrement géré» proposé par GCP. –