I’m looking forward to doing a Webinar on data virtualization this Thursday, April 22nd. Why? Because this is the single most beneficial concept of architecture, including SOA, and it’s often overlooked by the rank-and-file developers and architects out there. I’m constantly evangelizing the benefits of data virtualization, including integrating data from many and different data sources in real-time, and enabling query-based applications to get data from multiple systems.
The idea is pretty simple, really. Considering that there are many physical database schemas within most enterprises, and typically no common view of the data, data virtualization allows you to map many physical schemas to virtual schemas that are a better representation of the business. For example, a single view of customer data, sales data, and other data that has the same logical meaning, but may be scattered amongst many different physical database systems, using any number of implementation models.
Data virtualization has many other business benefits, including:
- Lowers cost with a single environment for physical and virtual data integration
- Maximizes agility by avoiding data movement, promoting reuse and ensuring data quality
- Reduces risk by utilizing an abstraction layer to minimize impact of change
These are the core benefits of data virtualization, but also define the value to SOA, and SOA leveraging data virtualization. The long-term core business benefit of SOA is not really the architecture unto itself, but the ability to change the architecture as required by the business. Thus, the more the business changes, including changes to processes and applications, the more value agility brings to the business.
Data virtualization is able to provide better agility by placing volatility within a single domain, the virtualized data. Data virtualization provides agility by providing a mapping layer between the physical and abstract data. Thus, changes to the physical database do not necessarily drive changes to the virtualized database, and the other way around.
The secondary business benefit is reuse. Data virtualization provides mechanisms to create data services that can be mixed and matched within composite applications and processes. Moreover, you can bind the virtualized data to additional functional behavior, and thus create very powerful reusable data services that again can be mixed and matched to create solutions.
So, consider the power of data virtualization. Why does it need promotion? Truth-be-told it’s a pretty complex topic, and difficult to explain in an elevator ride. However, once implemented, enterprises quickly understand the benefits. For me, in the hundred or so architectures I’ve reviewed over the last 10 years, I’ve always asked those who define the architecture to look at and perhaps leverage data virtualization. In the cases where they do, they quickly find the benefits. In the cases where they don’t, they are constantly reprogramming, testing, and deploying to accommodate simple changes to the databases. That’s never a good idea.