Skip to content

Main repository for the EXASOL virtual schemas framework (including the JDBC adapter)

License

Notifications You must be signed in to change notification settings

nconforti93/virtual-schemas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual Schemas

Build Status

SonarCloud results:

Quality Gate Status

Security Rating Reliability Rating Maintainability Rating Technical Debt

Code Smells Coverage Duplicated Lines (%) Lines of Code

Overview

Exasol 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 which look like and can be queried as any regular Exasol table.

Regardless of whether that source is a relational database like ours, or it's like the structure of GitHub repositories, the interface that users see is always the same.

This means an user familiar with SQL will immediately feel at home when accessing remote data through Virtual Schemas.

Deprecation Warning

The old entry point (Java class) for Virtual Schemas

com.exasol.adapter.jdbc.JdbcAdapter

is deprecated. Please use the new entry point

com.exasol.adapter.RequestDispatcher

in all your CREATE JAVA ADAPTER SCRIPT statements. The old entry point will be removed with the upcoming Version 2.0.0 of Exasol's Virtual Schema.

Features

  • Read access to data on remote data sources
  • Data in those sources appears as tables inside Exasol and can be queried using regular SQL statements.
  • Supports the following relational databases as sources: IBM DB2, Exasol, Generic JDBC-capable RDBMS, Oracle, PostgreSQL, Amazon AWS Redshift, Microsoft SQLServer, Sybase, Teradata
  • Supports Apache Impala (Hadoop-based analytical database) as a source
  • Supports Apache Hive (Hadoop-based data warehouse) as source
  • Supports access to file-based columnar storage (e.g. Tableau files) via Amazon AWS Redshift Spectrum and Amazon AWS Athena
  • Pushes down queries to the remote source (some sources)
  • Supports sources with no / one / multiple catalogs or schemas
  • Allows limiting metadata mapping to selected catalogs and / or schemas
  • Allows redirecting log output to a remote machine
  • Allows remote debugging with the Java Debugger

Customer Support

This is an open source project which is officially supported by Exasol. For any question, you can contact our support team.

Table of Contents

Information for Users

Supported dialects:

  1. Athena
  2. Aurora
  3. Big Query
  4. DB2
  5. Exasol
  6. Hive
  7. Impala
  8. Oracle
  9. PostgreSQL
  10. Redshift
  11. SAP HANA
  12. SQL Server
  13. Sybase ASE
  14. Teradata
  15. Generic

Information for Developers

Dependencies

Run Time Dependencies

Running the Virtual Schema requires a Java Runtime version 8 or later.

Dependency Purpose License
JSON-P JSON Processing CDDL-1.0
Exasol Script API Accessing Exasol features MIT License
JDBC driver(s), depending on data source Connecting to the data source Check driver documentation

Build Time Dependencies

Dependency Purpose License
Apache Derby Pure-Java embedded database Apache License 2.0
Apache HTTP Components HTTP communication Apache License 2.0
Apache Maven Build tool Apache License 2.0
Equals Verifier Testing equals(...) and hashCode() contracts Apache License 2.0
Exasol Virtual Schema Common Common module of Exasol Virtual Schemas adapters MIT License
Exec Maven Plugin Helps execute system and Java programs. Apache License 2.0
Java Hamcrest Checking for conditions in code via matchers BSD License
JSONassert Compare JSON documents for semantic equality Apache License 2.0
JUnit Unit testing framework Eclipse Public License 1.0
J5SE JUnit5 extensions to test Java System.x functions Eclipse Public License 2.0
Mockito Mocking framework MIT License
SnakeYaml YAML parsing Apache License 2.0

About

Main repository for the EXASOL virtual schemas framework (including the JDBC adapter)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.0%
  • HTML 2.0%
  • TSQL 1.2%
  • Python 0.8%
  • Shell 0.6%
  • SQLPL 0.3%
  • PLpgSQL 0.1%