IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Alimentation Discussion :

ETL et mise à jour temps-réel d'un entrepôt de données


Sujet :

Alimentation

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 66
    Points : 74
    Points
    74
    Par défaut ETL et mise à jour temps-réel d'un entrepôt de données
    Bonjour

    Est-ce que les ETL permettent une mise à jour temps-réel (toutes les 5 minutes) d'un entrepôt de données ?

    Merci d'avance
    Chris

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Les ETL permettent tout bien sûr, toutefois une mise à jour toutes les 5 minutes imposent que tes traitements pour charger la base dure moins de 5 minutes. Le mieux que j'ai entendu pour le chgt d'une base via ETL, c'est toutes les 30 minutes, et là c'était déjà très chaud !

  3. #3
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Tu peux toujours le faire mais comme le dit ccaye, ce n'est pas évident.

    Le problème (toujours comme le dit ccaye) c'est la durée de requête / rappatriement des données qui doit être inférieure à la durée entre chaque rafraîchissement.

    De plus le besoin "toutes les 5 mn" me semble plus proche d'un besoin transactionnel que d'un besoin Datawarehouse.

    Je te suggérerai de te tourner vers autre chose : EDI, vues matérialisées, etc.


    Enfin, selon ton volume de données, ça peut très bien marcher, hein ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  4. #4
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 66
    Points : 74
    Points
    74
    Par défaut
    Merci de vos réponses qui m'amènent à cette question

    En supposant d'une mise à jour toutes les 4 heures d'un entrepôt de données.

    Est-ce que l'ETL est capable de faire une copie en mode continue des données? c'est à dire qu'il ne met à jour dans l'entrepôt que les données qui ont été ajoutées/modifiées,supprimées durant ces 4 heures.

    Ou bien fait-il une suppression et une reconstruction de chaque table de l'entrepôt toutes les 4 heures.


    Merci d'avance
    Chris

  5. #5
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    C'est justement là le problème de l'alimentation par un ETL. Un ETL n'a à priori aucun moyen de connaître les données nouvelles / modifiées à rappatrier.

    Les divers moyen de faire un traitement par delta sont (liste non exhaustive, j'essaierais de faire un tuto sur le sujet un jour) :

    - Tout ramener à chaque fois.

    - Tout ramener à chaque fois puis faire un delta avec les données déjà présentes pour connaître les nouvelles.

    - Si les données source ont un quelconque identifiant incrémental qui permet d'être sûr et certain qu'une donnée > X est bien postérieure à X : mémoriser dans l'ETL la valeur max de l'identifiant et ramener uniquement les données dont l'identifiant est > X. Cet identifiant peut être un nombre, une date, etc. Par exemple tu ramènes les factures dont la date >= date max des dernières données récupérées. Evidemment tu ne récupéreras pas une facture antérieure à la date et qui a subi une modification.

    - Si le SGBDR source offre une quelconque possibilité de gérer les deltas : se renseigner sur la fonctionnalité et essayer de l'utiliser.

    - Si aucune de ces solutions là : bricolage.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  6. #6
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 66
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par nuke_y
    - Si le SGBDR source offre une quelconque possibilité de gérer les deltas : se renseigner sur la fonctionnalité et essayer de l'utiliser.
    Eh bien après recherche le mode différentiel ou CDC (Change Data Capture) permet aux utilisateurs de capturer les données, issues de n'importe quelle source en ne prenant en compte que les données modifiées (traitement des delta seulement) ce qui réduit considérablement les temps de traitements et la mise à disposition des informations pour l'ensemble de l'entreprise.

    Comme je le fais sous SQL Server 2005, je vais partir sur cette piste.
    Ce qui devrait répondre (j'espère) à ma problématique;

    Merci Nuke

  7. #7
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bah voila. Faudrait que je mette à ce genre de choses aussi, je ré-invente la roue depuis trop longtemps maintenant...

    EDIT :

    Par contre faudrait que tu le notes comme résolu si tu considères le sujet comme tel.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise à jour temps réel d'un slider
    Par Xen956 dans le forum Interfaces Graphiques
    Réponses: 16
    Dernier message: 03/07/2012, 09h56
  2. [MySQL] Mise à jour d'une table de base de données
    Par mannix2 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/08/2008, 18h47
  3. Réponses: 4
    Dernier message: 02/06/2008, 14h03
  4. Mise à jour de JTable depuis une Base de Données.
    Par hmd01 dans le forum Composants
    Réponses: 3
    Dernier message: 13/03/2007, 16h51
  5. Mise à jour en temps réel de la base de données
    Par Clotilde dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/06/2004, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo