Data virtualization
Data virtualization is an approach to data management that allows an application to retrieve and manipulate data without requiring technical details about the data, such as how it is formatted at source, or where it is physically located,[1] and can provide a single customer view (or single view of any other entity) of the overall data.[2]
Unlike the traditional extract, transform, load ("ETL") process, the data remains in place, and real-time access is given to the source system for the data. This reduces the risk of data errors, of the workload moving data around that may never be used, and it does not attempt to impose a single data model on the data (an example of heterogeneous data is a federated database system). The technology also supports the writing of transaction data updates back to the source systems.[3] To resolve differences in source and consumer formats and semantics, various abstraction and transformation techniques are used. This concept and software is a subset of data integration and is commonly used within business intelligence, service-oriented architecture data services, cloud computing, enterprise search, and master data management.
Data virtualization and data warehousing
Some enterprise landscapes are filled with disparate data sources including multiple data warehouses, data marts, and/or data lakes, even though a Data Warehouse, if implemented correctly, should be unique and a single source of truth. Data virtualization can efficiently bridge data across data warehouses, data marts, and data lakes without having to create a whole new integrated physical data platform. Existing data infrastructure can continue performing their core functions while the data virtualization layer just leverages the data from those sources. This aspect of data virtualization makes it complementary to all existing data sources and increases the availability and usage of enterprise data.
Data virtualization may also be considered as an alternative to ETL and data warehousing. Data virtualization is inherently aimed at producing quick and timely insights from multiple sources without having to embark on a major data project with extensive ETL and data storage. However, data virtualization may be extended and adapted to serve data warehousing requirements also. This will require an understanding of the data storage and history requirements along with planning and design to incorporate the right type of data virtualization, integration, and storage strategies, and infrastructure/performance optimizations (e.g., streaming, in-memory, hybrid storage).
Examples
- The Phone House—the trading name for the European operations of UK-based mobile phone retail chain Carphone Warehouse—implemented Denodo’s data virtualization technology between its Spanish subsidiary’s transactional systems and the Web-based systems of mobile operators.[3]
- Novartis implemented TIBCO's data virtualization tool to enable its researchers to quickly combine data from both internal and external sources into a searchable virtual data store.[3]
- The storage-agnostic Primary Data (defunct, reincarnated as Hammer.space) was a data virtualization platform that enabled applications, servers, and clients to transparently access data while it was migrated between direct-attached, network-attached, private and public cloud storage.
- Linked Data can use a single hyperlink-based Data Source Name (DSN) to provide a connection to a virtual database layer that is internally connected to a variety of back-end data sources using ODBC, JDBC, OLE DB, ADO.NET, SOA-style services, and/or REST patterns.
- Database virtualization may use a single ODBC-based DSN to provide a connection to a similar virtual database layer.
- Alluxio, an open-source virtual distributed file system (VDFS), started at the University of California, Berkeley's AMPLab. The system abstracts data from various file systems and object stores.
Functionality
Data Virtualization software provides some or all of the following capabilities:
- Abstraction – Abstract the technical aspects of stored data, such as location, storage structure, API, access language, and storage technology.
- Virtualized Data Access – Connect to different data sources and make them accessible from a common logical data access point.
- Transformation – Transform, improve quality, reformat, aggregate etc. source data for consumer use.
- Data Federation – Combine result sets from across multiple source systems.
- Data Delivery – Publish result sets as views and/or data services executed by client application or users when requested.
Data virtualization software may include functions for development, operation, and/or management.
Benefits include:
- Reduce risk of data errors
- Reduce systems workload through not moving data around
- Increase speed of access to data on a real-time basis
- Allows for query processing pushed down to data source instead of in middle tier
- Most systems enable self-service creation of virtual databases by end users with access to source systems
- Significantly reduce development and support time
- Increase governance and reduce risk through the use of policies[4]
- Reduce data storage required[5]
Drawbacks include:
- May impact Operational systems response time, particularly if under-scaled to cope with unanticipated user queries or not tuned early on.[6]
- Does not impose a heterogeneous data model, meaning the user has to interpret the data, unless combined with Data Federation and business understanding of the data[7]
- Requires a defined Governance approach to avoid budgeting issues with the shared services
- Not suitable for recording the historic snapshots of data. A data warehouse is better for this[7]
- Change management "is a huge overhead, as any changes need to be accepted by all applications and users sharing the same virtualization kit"[7]
History
Enterprise information integration (EII) (first coined by Metamatrix), now known as Red Hat JBoss Data Virtualization, and federated database systems are terms used by some vendors to describe a core element of data virtualization: the capability to create relational JOINs in a federated VIEW.
See also
References
- "What is Data Virtualization?", Margaret Rouse, TechTarget.com, retrieved 19 August 2013
- Streamlining Customer Data
- "Data virtualisation on rise as ETL alternative for data integration" Gareth Morgan, Computer Weekly, retrieved 19 August 2013
- "Rapid Access to Disparate Data Across Projects Without Rework" Informatica, retrieved 19 August 2013
- Data virtualization: 6 best practices to help the business 'get it' Joe McKendrick, ZDNet, 27 October 2011
- |IT pros reveal benefits, drawbacks of data virtualization software" Mark Brunelli, SearchDataManagement, 11 October 2012
- "The Pros and Cons of Data Virtualization" Loraine Lawson, BusinessEdge, 7 October 2011
Further reading
- Data Virtualization: Going Beyond Traditional Data Integration to Achieve Business Agility, Judith R. Davis and Robert Eve
- Data Virtualization for Business Intelligence Systems: Revolutionizing Data Integration for Data Warehouses, Rick van der Lans
- Data Integration Blueprint and Modelling: Techniques for a Scalable and Sustainable Architecture, Anthony Giordano