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
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
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 !
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.
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
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.
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.Envoyé par nuke_y
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
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager