2011-03-12 5 views
2

J'ai été invité à créer une application de type ETL qui transfère des informations d'une source de données à une autre. À l'heure actuelle, j'ai décidé d'utiliser une architecture à trois couches mais je voudrais en savoir plus sur les meilleures pratiques, ainsi que le cycle de vie décrit sur cette page wikipedia:Architecture ETL

http://en.wikipedia.org/wiki/Extract,_transform,_load

enfants de quatre approche à plusieurs niveaux pour la conception de l'architecture ETL

* Functional layer: Core functional ETL processing (extract, transform, and load). 
    * Operational management layer: Job-stream definition and management, parameters, scheduling, monitoring, communication and alerting. 
    * Audit, balance and control (ABC) layer: Job-execution statistics, balancing and controls, rejects- and error-handling, codes management. 
    * Utility layer: Common components supporting all other layers. 

cycle de vie réelle ETL

The typical real-life ETL cycle consists of the following execution steps: 

    1. Cycle initiation 
    2. Build reference data 
    3. Extract (from sources) 
    4. Validate 
    5. Transform (clean, apply business rules, check for data integrity, create aggregates or disaggregates) 
    6. Stage (load into staging tables, if used) 
    7. Audit reports (for example, on compliance with business rules. Also, in case of failure, helps to diagnose/repair) 
    8. Publish (to target tables) 
    9. Archive 
    10. Clean up 

Répondre

5

Je ne sais pas ce que votre situation est ou ce qui y nos exigences sont, mais vous êtes probablement trop penser le problème.

Le seul nom est "la" architecture:

  • Extrait
  • Transformer
  • charge

Exportation d'une table de base de données dans un fichier CSV peut être considéré comme "ET" lors du chargement de la CSV est le "L". La plupart des problèmes d'ETL ne sont simplement pas compliqués. Au-delà de cela, vous devriez choisir parmi les 1 ou 2 millions de packages ETL et ESB déjà disponibles en Java, gratuits et commerciaux, bibliothèques et systèmes de traitement de bateaux complets, et en adopter un que vous préférez. Obtenez un tableau blanc, enchaînez des bulles avec des lignes et mettez-le dans le code.