1. A method of updating data tables stored in a data warehouse, the method comprising: storing, in memory, a plurality of data tables; detecting, by a processor, incoming data for updating the plurality of data tables; generating, by the processor, an update request associated with each data table in the plurality of data tables; determining a calculated staleness for a portion of the plurality of data tables; scheduling updates to the portion of the plurality of data tables based on the calculated staleness; determining a stretch value for each one of the data tables in the portion of the plurality of data tables, the stretch value indicative of a maximum ratio between a duration of time a corresponding one of the updates waits until processing is finished and a length of the corresponding one of the updates, wherein scheduling data table updates is based at least in part on the stretch value; and distributing the updates among a plurality of processors to minimize the calculated staleness; transforming the portion of the plurality of data tables to include a different portion of the incoming data based on the scheduling.