1. An extract, transform and load (ETL) system for extracting transactional data from a plurality of source machines, the ETL system comprising: a data query module configured to provide an interface to enable a data analyst to define an input query to extract transactional data, wherein the transactional data is present on a plurality of source machines, and wherein the plurality of source machines form a multi-tenant system and each source machine is identified by a unique tenant identifier; a query parsing module coupled to the data query module and configured to deconstruct the input query to create a tree structure, wherein the tree structure comprises a plurality of distinct queries; and a data extraction module coupled to the query parsing module and configured to extract transactional data based on the plurality of distinct queries and copy the transactional data to a destination system, wherein the transactional data comprises a plurality of data types.