Chapter 4. Advanced Architectural Components
In the previous chapter, we discussed the basic architectural components that are found in most DV Systems. In this chapter, we will discuss some advanced components that may not be available in all systems. These advanced components either improve performance or add functionality to the DV System. It is important for DV System users to understand these components and how they work since, in many cases, these components can be parameterized to adjust their functionality based on user preferences.
Caching
A core tenet of data virtualization is that it does not require moving data to new locations. Instead, data is left at its original source, and the DV System extracts it on the fly as needed. One disadvantage of this approach is that a dataset may need to be sent over the network multiple times from the underlying data sources to the DV Engine if it is repeatedly accessed by a series of queries. Although we explained in Chapter 2 that faster networks are often able to avoid allowing this data transfer to become a bottleneck, too many unnecessary data transfers can nonetheless overload a network. Furthermore, as we will see in Chapter 5, when underlying data sources make their data available via slow interfaces such as Java Database Connectivity (JDBC), data transfer bottlenecks still very much exist today. Therefore, repeatedly performing the transfer of the same datasets is not only inefficient in terms of cost, CPU, and power consumption, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access