2
我被要求製作一種ETL風格的應用程序,可將信息從一個數據源傳輸到另一個數據源。目前,我已經決定要使用三層架構,但我想了解更多的最佳實踐以及本維基百科頁面上所描述的生命週期:ETL架構
http://en.wikipedia.org/wiki/Extract,_transform,_load
的四層對於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.
現實生活中的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