Retour à la leçonMission
Mission : un rapport multi-clients qui échoue sur l'architecture shardée
Comprendre pourquoi une requête agrégée sur tous les clients échoue avec ShardedSession, et concevoir une stratégie de fan-out adaptée.
Contexte
La plateforme SaaS a migré vers ShardedSession avec un shard_chooser basé sur client_id. Une nouvelle fonctionnalité doit afficher, pour l'équipe commerciale, le montant total des commandes de tous les clients situés en France, tous shards confondus : session.query(Commande).join(Client).filter(Client.pays == "FR"). Cette requête plante ou ne renvoie que les résultats d'un seul shard, alors que des clients français existent sur les trois shards.