Most businesses have an urgent need for up-to-date, accurate information based on data from multiple data sources. It would be much easier if all your data were stored in one database so it can be queried as a whole, but this is rarely practical. In the real world, data integration is required. You need a simple, efficient way to query data found in various data sources.
Suppose you use information about customers in your Service Oriented Architecture (SOA). Your company might use an external CRM system like salesforce.com for leads and customer data, an internal ERP system like PeopleSoft for processing orders, a dedicated software solution to track technical support calls, and one or more databases to store customer information not captured by these other systems. Each of these data sources has a different representation of a customer, a different API and data model, and perhaps a different query language. Nevertheless, you have to be able to combine this data intelligently to get an overview of a customer.