Virtual Schemas

This section describes what virtual schemas are in Exasol and how to use them.

What are virtual schemas?

Virtual schemas are an abstraction layer that makes external data sources accessible in our data analytics platform through regular SQL commands. The contents of the external data sources are mapped to virtual tables that look like any regular Exasol tables and can be queried as such.

This concept creates a type of logical view on top of several data sources that could be databases or other data services. Using the virtual schema, you can implement a consistent access layer for your reporting tools. You can also use it for agile and flexible ETL processing, since there is no need to change anything in Exasol if you change or extend the objects in the underlying system.

How do I use virtual schemas?

After creating a virtual schema, you can use the virtual tables in SQL queries and combine them with persistent tables stored in Exasol, or with any other virtual table from a different virtual schema. The SQL optimizer translates the virtual objects into connections to the underlying systems and implicitly transfers the required data. SQL conditions are pushed to the data sources to ensure minimum data transfer and optimum performance.

The virtual schema translates the Exasol SQL into the SQL of the remote database. Your query is rewritten into a new query that uses the IMPORT statement. You can also load data directly using these generated statements. To see the generated query, use the EXPLAIN VIRTUAL statement.

Exasol provides an open and extensible framework where the connectivity logic is open sourced. Within this framework you can choose to either use the available adapters or optimize them according to your requirements, without waiting for a new release from Exasol.

Topics in this section

To learn more about how to use virtual schemas, see the following articles: