J'ai lu la documentation de Firebase sur la sécurité et les règles de lecture/écriture/validation. La documentation est assez détaillée, mais je ne trouve aucune information sur l'impact des règles de sécurité sur les performances (interrogation, récupération, écriture de données, etc.).Quel est l'impact sur les performances des règles de lecture/écriture/validation de Firebase?
Par exemple, considérons l'exemple de base de données ci-dessous:
myapp : {
projects : {
<project_id> : { ... }
}
users : {
<uid> : { role : <admin or pm or other> }
}
}
.. et les règles de base de données ci-dessous pour la lecture:
rules : {
projects : {
$project : {
{
.read: root.child(‘users’).child(auth.uid) && root.child(‘users’).child(auth.uid).child(‘role’).val() == “admin” || root.child(‘users’).child(auth.uid).child(‘role’).val() == “pm”
}
}
}
En ce qui concerne la lecture des données de tout nœud de projet $ (ex : .child ("projects/alpha) .once()), quel impact aura cette règle sur les performances par rapport à si aucune règle de lecture n'existe? Si je fais plusieurs requêtes/lectures, l'une après l'autre, la règle sera évaluée chaque Firebase 'enregistre-t-il le résultat de la règle quelque part pour éviter une réévaluation?
Salut Frank, merci pour la réponse rapide. En guise de suivi, quel effet a une règle par rapport à ne pas avoir de règle sur la performance? Est-ce essentiellement négligeable? (J'ai apporté quelques modifications à la question pour être plus clair). –
Sauf si vous rencontrez un problème de performance que vous pensez être causé par des règles spécifiques, je m'en tiens à écrire les règles qui correspondent à votre cas d'utilisation. Tout le reste est une optimisation prématurée. –