Bonjour

Je travaille en ce moment sur un projet d'optimisation d'agrégation. Je m'explique:

L'entreprise dans laquelle je fais ma formation travaille avec Net Report (pour la génération des rapports). A partir des logs bruts, les rapports sont générés en passant par l'agrégation. EN fait actuellement la solution d'agrégation s'effectue par étapes de cette façon:

(Avant l'agrégation, les logs sont parsés et copiés dans la table "Rawdata")

- La table "Rawdata" est marqué à 'Proceeding"
- Copie de la table Rawdata dans Rawdatawork
- Marquer Rawdata à "Proceeded".
- Purger la table Rawdata.

En fait, cette solution s'avère un peu lente (perte de temps), l'objectif de mon projet c'est d'optimiser cette solution en évitant par exemple la copie des données de Rawdata à Rawdatawork (ce qui prend plus de temps).

La solution proposée est la suivante:

Utiliser des synonymes c'est-à-dire créer deux tables synonymes par exemple Rawdata1 et Rawdata2. Le parseur va écrire dans Rawdata1, une fois terminé, il y aura une bascule qui va se faire en passant à Rawdata2(maintenant le parseur écrit dans Rawdata2). Une fois la bascule faite, l'agrégation débutera sur Rawdata1, une fois l'agrégation terminée, on fait un truncate de rawdata1, Ainsi de suite.... Cette solution évitera de faire des copies de données.

Maintenant après tout ça, le travail à faire, c'est de trouver tous les problèmes qu'il peut y avoir en les détaillant. Je vous donne un exemple:

- La bascule des synonymes ne peut pas s'effectuer durant un chargement de logs parsés via SQL*Loader ...etc

Est-ce que quelqu'un a déjà travaillé sur l'agrégation? Merci de m'aider à trouver les problèmes que je peux rencontrer comme cités ci-dessus.

Je dois aussi trouver un mécanisme qui permet par exemple de faire la bascule entre les synonymes qu'après avoir charger les logs...etc

J'étais un peu trop long. Merci de votre patience.