ETL/DW Refreshment Process: Time-Consuming Yet Essential

ETL/DW Refreshment Process: Time-Consuming Yet Essential
Slide Note
Embed
Share

The ETL/DW refreshment process is crucial in data warehouse development but often underestimated. This process involves extracting, transforming, cleansing, and loading data into the data staging area (DSA) for efficient management and backup. The construction process includes designing ETL workflows, building dimensions, and fact tables. Learn about the key steps involved in refreshing and maintaining the data warehouse to ensure optimal performance and reliability.

  • ETL
  • Data Warehouse
  • Refreshment Process
  • Data Staging Area
  • Dimension Building

Uploaded on Mar 16, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. ETL/DW refreshment process The most underestimated process in DW development The most time-consuming process in DW development 80% of development time is spent on ETL! Extract Extract relevant data Transform Transform data to DW format Build keys, etc. Cleansing of data Load Load data into DW Build aggregates, etc.

  2. Refreshment Workflow

  3. Data Staging Area (DSA) Transit storage for data in the ETL process Transformations/cleansing done here No user queries Sequential operations on large data volumes Performed by central ETL logic No need for locking, logging, etc. RDBMS or flat files? (DBMS have become better at this) Finished dimensions copied from DSA to relevant marts Allows centralized backup/recovery Often too time consuming to initial load all data marts by failure Backup/recovery facilities needed Better to do this centrally in DSA than in all data marts

  4. ETL Construction Process Plan 1) Make high-level diagram of source-destination flow 2) Test, choose and implement ETL tool 3) Outline complex transformations, key generation and job sequence for every destination table Construction of dimensions 4) Construct and test building static dimension 5) Construct and test change mechanisms for one dimension 6) Construct and test remaining dimension builds Construction of fact tables and automation 7) Construct and test initial fact table build 8) Construct and test incremental update 9) Construct and test aggregate build 10) Design, construct, and test ETL automation

  5. Building Dimensions Static dimension table DW key assignment: production keys to DW keys using table Combination of data sources: find common key? Check one-one and one-many relationships using sorting Handling dimension changes Find the newest DW key for a given production key Table for mapping production keys to DW keys must be updated Load of dimensions Small dimensions: replace Large dimensions: load only changes

  6. Building Fact Tables Two types of load Initial load ETL for all data up till now Done when DW is started the first time Very heavy - large data volumes Incremental update Move only changes since last load Done periodically (e.g., month or week) after DW start Less heavy - smaller data volumes Dimensions must be updated before facts The relevant dimension rows for new facts must be in place Special key considerations if initial load must be performed again

  7. Types of Data Sources Non-cooperative sources Snapshot sources provides only full copy of source, e.g., files Specific sources each is different, e.g., legacy systems Logged sources writes change log, e.g., DB log Queryable sources provides query interface, e.g., RDBMS Cooperative sources Replicated sources publish/subscribe mechanism Call back sources calls external code (ETL) when changes occur Internal action sources only internal actions when changes occur. For e.g. DB triggers Extract strategy depends on the source types

  8. Extract Goal: fast extract of relevant data Extract from source systems can take long time Types of extracts: Extract applications (SQL): co-existence with other applications DB unload tools: faster than SQL-based extracts Extract applications the only solution in some scenarios Too time consuming to ETL all data at each load Extraction can take days/weeks => Extract/ETL only changes since last load (delta)

  9. Computing Deltas Delta = changes since last load Store sorted total extracts in DSA Delta can easily be computed from current + last extract + Always possible + Handles deletions - High extraction time Put update timestamp on all rows (in sources) Updated by DB trigger Extract only where timestamp > time for last extract + Reduces extract time - Cannot (alone) handle deletions - Source system must be changed, operational overhead

  10. Changed Data Capture Changes to the organizational details need to update in data warehouse or data mart Taking periodic snapshot of entire data source is time consuming and complex. A consistent stream of changes in data suitable to handle allowing the incremental loads form source to DW Process of fetching changes in data from source table is called as change data capture and generally it is performed by DBMS logs. Synchronize data mart with source data table.

  11. Changed Data Capture Messages Applications insert messages in a queue at updates + Works for all types of updates and systems - Operational applications must be changed DB triggers Triggers execute actions on INSERT/UPDATE/DELETE + Operational applications need not be changed + Enables real-time update of DW - Operational overhead Replication based on DB log Find changes directly in DB log which is written anyway + Operational applications need not be changed + No operational overhead - Not possible in some DBMS

  12. Common Transformations Data type conversions to ASCII/UniCode String manipulations Date/time format conversions Normalization/denormalization To the desired DW format Depending on source format Building keys Table matches production keys to surrogate DW keys Correct handling of history - especially for total reload

  13. Data Quality Data almost never has decent quality Data in DW must be: Precise- DW data must match known numbers - or explanation needed Complete- DW has all relevant data and the users know Consistent- No contradictory data: aggregates fit with detail data Unique- The same things is called the same and has the same key (customers) Timely- Data is updated frequently enough and the users know when

  14. Cleansing BI does not work on raw data Pre-processing necessary for BI analysis Handle inconsistent data formats Spellings, codings, Remove unnecessary attributes Production keys, comments, Replace codes with text City name instead of ZIP code, Combine data from multiple sources with common key E.g., customer data from customer address, customer name,

  15. Cleansing Mark facts with Data Status dimension Normal, abnormal, outside bounds, impossible, Facts can be taken in/out of analyses Uniform treatment of NULL Use explicit NULL value rather than special value (0,-1, ) Use NULLs only for measure values (estimates instead?) Use special dimension keys for NULL dimension values Avoid problems in joins, since NULL is not equal to NULL Mark facts with changed status New customer, Customer about to cancel contract,

  16. Types Of Cleansing Conversion and normalization Text coding, date formats, etc. Most common type of cleansing Special-purpose cleansing- Normalize spellings of names, addresses, etc. Remove duplicates, e.g., duplicate customers Domain-independent cleansing- Approximate, fuzzy joins on records from different sources Rule-based cleansing- User-specifed rules, if-then style Automatic rules: use data mining to find patterns in data Guess missing sales person based on customer and item

  17. Load Goal: fast loading into DW Loading deltas is much faster than total load SQL-based update is slow Large overhead (optimization, locking, etc.) for every SQL call DB load tools are much faster Index on tables slows load a lot Drop index and rebuild after load Can be done per index partition Parallellization Dimensions can be loaded concurrently Fact tables can be loaded concurrently Partitions can be loaded concurrently

  18. Load Relationships in the data Referential integrity and data consistency must be ensured Can be done by loader Aggregates Can be built and loaded at the same time as the detail data Load tuning Load without log Sort load file first Make only simple transformations in loader Use loader facilities for building aggregates Should DW be on-line 24*7? Use partitions or several sets of tables (like MS Analysis)

  19. ETL Tools ETL tools from the big vendors Oracle Warehouse Builder IBM DB2 Warehouse Manager Microsoft Integration Services Offers much functionality at a reasonable price Data modeling ETL code generation Scheduling DW jobs The best tool does not exist Choose based on your own needs Check first if the standard tools from the big vendors are OK

  20. Requirements and constraints One provide a short response for each of the following ten requirements Business Needs- The information content that end users need to make informed business decisions Business needs directly drive the choice of data sources, Understanding and constantly examining business needs is a core activity of the ETL team.

  21. Compliance requirements Archived copies of data sources and subsequent staging of data Proof of the complete transaction flow that changed any data Fully documented algorithms for allocations and adjustments Proof of security of the data copies over time, both on-line and off-line

  22. Data Profiling Data profiling is a systematic examination of the quality, scope, and context of a data source to allow an ETL system to be built A good data profiling system can process very large amounts of data, and with the skills of the analyst, uncover all sorts of issues that need to be addressed. Require Elimination of some input fields completely Flagging of missing data and generation of special surrogate keys Best-guess automatic replacement of corrupted values Human intervention at the record level Development of a full-blown normalized representation of the data

  23. Security Requirements The data warehouse seeks to publish data widely to decision makers, whereas the security interests assume that data should be restricted to those with a need to know. ETL team needs to work in a special environment, since they have full read/write access to the physical tables of the data warehouse. The ETL team s workstations should be on a separate subnet behind a packet-filtering gateway If not malicious individual on that intranet can quietly install a packet sniffer that will reveal the administrative passwords to all the databases

  24. Data Integration The 360 degree view of the business is the business name for data integration data integration takes the form of conforming dimensions and conforming facts. Conforming dimensions means establishing common dimensional attributes across separate databases so that drill across reports can be generated using these attributes. Conforming facts means agreeing on common business metrics such as key performance indicators (KPIs) across separate databases so that these numbers can be compared mathematically by calculating differences and ratios.

  25. Data Latency The data latency requirement describes how quickly the data must be delivered to end users data latency requirement is sufficiently urgent, the architecture of the ETL system must convert from batch oriented to streaming oriented.

  26. Archiving and Lineage even without the legal requirements for saving data, every data warehouse needs various copies of old data, either for comparisons with new data to generate change capture records or for reprocessing.

  27. End User Delivery Interfaces The final step for the ETL system is the handoff to end user applications ETL team, working closely with the modeling team, must take responsibility for the content and the structure of data, making the end user applications simple and fast. In general, the ETL team and the data modelers need to work closely with the end user application developers to determine the exact requirements for the final data handoff.

  28. Legacy Licenses major design decisions will be made for you implicitly by senior management s insistence that you use existing legacy licenses.

  29. Available Skills Some of the big design decisions when building an ETL system must be made on the basis of who builds and manages the system. You shouldn t build a system that depends on critical C++ processing modules, if those programming skills are not in house, and if you cannot reasonably acquire and keep those skills.

More Related Content