Data virtualization focuses on an abstracted layer which provides the necessary hooks to take a business-centric query and deconstruct the same into a set of atomic queries. Each such atomic query, focuses on a sub-set of data elements/types (from the original business-centric query) and determines which data source(s) to go against to retrieve the data. Each such atomic query is executed by the Data Virtualization layer and the returned data sets are then processed (joined) to form the final consolidated result set which is then made ready to be returned as a result to the business-centric query. The mode of data return can be standard SQL, Web Services or any other format which is standard enough to be consumable by business and/or enterprise applications.
The technology is real today. It is only important that enterprises take a close look at Data Virtualization and consider leveraging the same as a part of their overall enterprise data architecture strategy.
And yes, the technologies today can virtualize across both structured and unstructured data spread across databases and schema-less file systems.