ETL stands for extract, transform, and load , one type of process used for data integration. Each of the three steps is distinct and can be complicated. But they are interrelated and come together into a complete process to deliver a unified set of data.
Here is how the steps work:
- Extraction pulls the data from the source. For databases, extraction would involve using SQL. For more complex applications, one might need to code to an API. Or higher level ETL tools might abstract the extraction step into point-and-click operations.
- Transformation is the process of shaping the data into the final form needed. This often includes cleansing (which may also be in the extraction process), blending, enrichment, aggregating, and organizing the data.
- Loading puts the data into the destination data store: a data warehouse, data mart, analytical database, or OLAP engine. Some of the final organization of the data may be coded in this step.
ETL processes can be pieced together in ETL tools, hand-coded, or a combination thereof. An ETL process could be a single synchronous process, or steps can be separated and run individually. In the latter, there will often be an intermediate data store used to manage the in-flight data.
ETL processes can also range from simple – extract from a single source and transform it into an analytical form – to complex – bring together many sources to transform and feed into one or more sophisticated analytical schemas (e.g., star schema). Organizations may have ETL processes that feed each other. A complex process may feed a wide range of data into a data warehouse, and then a simpler process may move data from a data warehouse to a departmental OLAP cube.