Since its eruption into the world of data warehousing and business intelligence, Extract, Transform, Load (ETL) has become a ubiquitous process in the software world. As its name suggests, an ETL routine consists of three distinct steps, which often take place in parallel: data is extracted from one or more data sources; it is converted into the required state; it is loaded into the desired target, usually a data warehouse, mart, or database. A developed ETL routine will also often include error-handling, logging infrastructure and the routine environment.
Until now, ETL has been used primarily to prepare often large and disparate data for analytics and business intelligence. However, its use is broadening beyond simply moving data, with migrating data for new systems an increasingly common application, as well as handling data integrations, sorts, and joins.