Maison  >  Questions et réponses  >  le corps du texte

Mise en cache des données de reporting dans la même base de données de transactions par rapport à l'utilisation d'un entrepôt de données

Nous disposons d'une solution SaaS où chaque locataire dispose de sa propre base de données MySQL. Je conçois maintenant un tableau de bord pour ce système SaaS et cela nécessite des graphiques analytiques. Pour obtenir les données nécessaires à la cartographie, nous pouvons interroger en temps réel les données de transactions de chaque locataire à partir de sa base de données. et obtenez des graphiques mis à jour sans mauvaises performances puisque le volume de données n'est pas si important jusqu'à présent. Cependant, comme le volume de données continuera de croître, nous avons décidé de séparer les données analytiques et les données transactionnelles pour chaque entreprise. Nous récupérerons les données analytiques des graphiques en arrière-plan, les sauvegarderons/les mettrons en cache et les mettrons à jour régulièrement. Ma question est :

P粉511749537P粉511749537235 Il y a quelques jours341

répondre à tous(1)je répondrai

  • P粉759451255

    P粉7594512552024-02-27 16:34:32

    Au lieu d'entrer dans des millions de lignes dans un tableau « de faits », créez et maintenez un tableau récapitulatif, puis récupérez les données. Il peut fonctionner 10 fois plus vite.

    Cela nécessite un changement de code en raison des tables supplémentaires, mais cela peut en valoir la peine.

    Tableau récapitulatif

    En d’autres termes, si l’ensemble de données devient supérieur à X, un tableau récapitulatif est la meilleure solution. La mise en cache n'aidera pas. Le matériel ne suffit pas. JSON ne fait que gêner.

    Construire des graphiques pour une année sur la base d'une année de points de données (un par seconde) est lent et inutile. Il est beaucoup plus logique de construire un graphique annuel basé sur des sous-totaux quotidiens.

    répondre
    0
  • Annulerrépondre