Data virtualization is a technique used to provide an abstraction layer between data and details about that data such as its type or location.
By using an independent software layer to process data access requests, data virtualization delivers a simplified experience to the consumers of data—such as applications and users—and gives IT flexibility in where application data can be stored.
Data virtualization promotes efficiency in data usage and processing and accelerates time to market on projects with complex data storage infrastructure. The purpose is to allow data to be accessed without creating extra work and complexity during processing of data requests. It also allows users to consume data without needing to be aware of its type or storage location. This is especially useful when applications use various data stores for data within one application or when some or all of the data is stored in the cloud.
Data virtualization is used in many applications when data is merged or federated in the application from multiple sources but it is undesirable for the application itself to process data handling complexity. It is useful in situations where many different types of data need to be stored and accessed and when the storage infrastructure is heterogeneous or subject to change. Data virtualization is an increasingly common technique in web-based applications.