A system comprising: computer-readable media having thereon a plurality of modules; and at least one processing unit operably coupled with the computer-readable media, configured to access data from one or more data sources and adapted to execute one or more modules of the plurality of modules comprising: at least one module of a construction engine, the at least one module of the construction engine including a manipulation module configured to: generate a dataflow graph corresponding to a job specification associated with one or more data sources, determine a data manipulation to operate based on the nodes of the dataflow graph based on the job specification; determine data-processing instructions to perform functions of the data manipulation based on the data manipulation and at least some metadata of the one or more data sources; and a query module configured to: determine a query by assembling the data-processing instructions based at least in part on the job specification; at least one module of an execution engine (124, 206) configured to: execute the query by accessing data from at least one of the one or more data sources provide query results; and at least one module of an ingestion engine configured to: retrieve a data record; determine metadata corresponding to the data record, the metadata including a data-source identifier indicating at least one of the one or more data sources; and store the metadata in a metadata repository in association with the data-source identifier, wherein the job specification specifies an ingestion job that retrieves data from a data source, the ingestion job additionally indexes the data and stores the index in a database. computer-readable media having thereon a plurality of modules; and at least one processing unit operably coupled with the computer-readable media, configured to access data from one or more data sources and adapted to execute one or more modules of the plurality of modules comprising: at least one module of a construction engine, the at least one module of the construction engine including a manipulation module configured to: generate a dataflow graph corresponding to a job specification associated with one or more data sources, determine a data manipulation to operate based on the nodes of the dataflow graph based on the job specification; determine data-processing instructions to perform functions of the data manipulation based on the data manipulation and at least some metadata of the one or more data sources; and a query module configured to: determine a query by assembling the data-processing instructions based at least in part on the job specification; at least one module of an execution engine (124, 206) configured to: execute the query by accessing data from at least one of the one or more data sources provide query results; and at least one module of an ingestion engine configured to: retrieve a data record; determine metadata corresponding to the data record, the metadata including a data-source identifier indicating at least one of the one or more data sources; and store the metadata in a metadata repository in association with the data-source identifier, wherein the job specification specifies an ingestion job that retrieves data from a data source, the ingestion job additionally indexes the data and stores the index in a database. at least one module of a construction engine, the at least one module of the construction engine including a manipulation module configured to: generate a dataflow graph corresponding to a job specification associated with one or more data sources, determine a data manipulation to operate based on the nodes of the dataflow graph based on the job specification; determine data-processing instructions to perform functions of the data manipulation based on the data manipulation and at least some metadata of the one or more data sources; and a query module configured to: determine a query by assembling the data-processing instructions based at least in part on the job specification; generate a dataflow graph corresponding to a job specification associated with one or more data sources, determine a data manipulation to operate based on the nodes of the dataflow graph based on the job specification; determine data-processing instructions to perform functions of the data manipulation based on the data manipulation and at least some metadata of the one or more data sources; at least one module of an execution engine (124, 206) configured to: execute the query by accessing data from at least one of the one or more data sources provide query results; and at least one module of an ingestion engine configured to: retrieve a data record; determine metadata corresponding to the data record, the metadata including a data-source identifier indicating at least one of the one or more data sources; and store the metadata in a metadata repository in association with the data-source identifier, retrieve a data record; determine metadata corresponding to the data record, the metadata including a data-source identifier indicating at least one of the one or more data sources; and store the metadata in a metadata repository in association with the data-source identifier,