2017-10-20 36 views
0

Quelle est la meilleure approche pour traiter de petites portions de données sur Firestore tout en gardant les opérations de lecture et d'écriture minimales.Fractionnement d'un bloc de données dans Firestore document

Nous travaillons sur une petite déclaration de problème où nous voulons offrir aux utilisateurs la possibilité d'évaluer/examiner tous les magasins qu'ils voient sur l'application. L'approche que je vois est de créer un document de magasin avec un ensemble d'attributs de magasin (nom de magasin, adresse de magasin, estimation agrégée) et puis créer une sous-collection de notation/révision avec chaque notation d'utilisateur comme document .

/stores/{storeid}/rating/{rating_from_each_user} 

Mais cela se traduira par de nombreuses opérations de lecture, chaque fois que quelqu'un essaie de lire une critique en magasin. En outre, nous ne pouvons pas conserver toutes les notes dans un document en raison d'une limitation de 1 Mo, et le nombre de notes augmentera à l'avenir, mais cela ne sera pas échelonné.

S'il vous plaît partagez si vous avez d'autres approches à l'esprit pour les meilleures pratiques.

+0

Utilisez la base de données Firebase car il n'y a aucun problème concernant le nombre de lectures. –

+0

Merci pour la réponse @AlexMamo. Mais je suis un peu sceptique quant à l'avenir de Firebase Realtime Database, car l'équipe de Firebase suggère constamment d'utiliser Firestore pour tous les nouveaux projets. Par ailleurs, conserver les données sur deux instances entraînera des difficultés si nous planifions la migration ultérieurement. Avez-vous d'autres idées en ce qui concerne la mise en œuvre de Firestore? –

+0

@KumarVivek Je suis sur l'équipe Firebase, je pense que vous avez la mauvaise impression. Si vous aimez la base de données en temps réel, vous devez absolument continuer à l'utiliser/créer de nouvelles applications dessus. Cloud Firestore n'est pas un remplacement, juste une autre option. –

Répondre

0

Pour résoudre ce problème, je vous recommande d'utiliser Firebase Realtime Database. Comme il est mentionné dans ce post du Firebase blog de offical, une des raisons pour lesquelles vous voulez quand même utiliser la base de données en temps réel est:

Comme nous l'avons indiqué plus haut, le modèle de tarification de Cloud Firestore signifie que les applications qui effectuent un très grand nombre de petits lit et écrit par seconde par client pourrait être significativement plus cher qu'une application similaire dans la base de données en temps réel.

Donc, vous connaissez votre budget. Dans ce cas, c'est à vous de choisir l'option que vous choisissez.

Espérons que ça aide.