Given that operational databases are finely tuned to support
known OLTP workloads, trying to execute complex OLAP
queries against the operational databases would result in
unacceptable performance. Furthermore, decision support
requires data that might be missing from the operational
databases; for instance, understanding trends or making
predictions requires historical data, whereas operational
databases store only current data. Decision support usually
requires consolidating data from many heterogeneous
sources: these might include external sources such as stock
market feeds, in addition to several operational databases.
The different sources might contain data of varying quality, or
use inconsistent representations, codes and formats, which
have to be reconciled. Finally, supporting the
multidimensional data models and operations typical of
OLAP requires special data organization, access methods,
and implementation methods, not generally provided by
commercial DBMSs targeted for OLTP. It is for all these
reasons that data warehouses are implemented separately
from operational databases.