In my response to Bill Inmon's post last week, I highlighted the fact that virtual data warehouses are just fine, and I'm still sticking with that story. However, the larger issues are really around data abstraction.
Although database abstraction has been around for awhile, the solution set has been enhanced only recently. Database abstraction is the integration of multiple databases and database models into a single, unified view of the databases. Put another way, database abstractions are virtual enterprise databases that are comprised of many real physical databases.
Database abstraction software places a layer of software (middleware) between the physical distributed databases and the applications that will be viewing the data. This layer connects to the back-end databases using available interfaces and maps the physical databases to a virtual database model that exists only in the software. The application uses this virtual database to access the required information, and the database abstraction software handles the collection and distribution of the data as needed to the physical databases.
The advantage of using database abstraction software is the ability to bind many different data types into one unified enterprise-wide data model, including schema and content. Thus, we're able to access information contained in many different data stores as a single database with a new schema, a database that we define in middleware to meet the needs of the problem domain.
The value of this is obvious to me, but not obvious to everyone. By leveraging data abstraction and virtualization you're able to place volatility into the domain of the data abstraction software. Thus, as the physical databases change, and the virtual exposed schemas need to change, you only need to make changes that are more about configuration and mapping than programming. That's a huge advantage.













David -
Data abstraction and virtualization provide huge value to an ever-growing set of use cases.
For example, BI is a $28B business today with enterprises using data services to access, abstract and deliver an ever growing portion of the data required -- gaining SOA-style agility and cutting costs while they are at it.
Further, in transactions-centric (versus data query centric) business process automation projects, data services can virtualize and abstract key data such as GET_CUSTOMER, GET_PRICE, GET_TAXRATE, etc. These abstractions are highly valuable when automating an order-to-cash business process for example. Typical enterprises can use hundreds of these services.
Finally, there are many use cases where analyzing data is the business process -- for example interest rate risk analysis in banks or single view of "person of interest" in intelligence agenices. Data abstractions greatly simplify sharing of data for this class of processes.
-Robert Eve, Composite Software