-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from AnastasiiaSergienko/enhancement/1_Update_R…
…eadme.md #1: updated Readme.md
- Loading branch information
Showing
1 changed file
with
19 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,26 @@ | ||
# Virtual Schemas | ||
# Common module of Exasol Virtual Schemas Adapters | ||
|
||
[![Build Status](https://travis-ci.org/exasol/virtual-schemas.svg?branch=master)](https://travis-ci.org/exasol/virtual-schemas) | ||
This is one of the modules of Virtual Schemas Adapters. | ||
The libraries provided by this project are the foundation of the adapter development, i.e. adapters must be implemented on top of them. | ||
You can find the full description of the project here: https://github.com/exasol/virtual-schemas | ||
|
||
<p style="border: 1px solid black;padding: 10px; background-color: #FFFFCC;"><span style="font-size:200%">⚠</span> Please note that this is an open source project which is officially supported by Exasol. For any question, you can contact our support team.</p> | ||
Please note that the artifact name changed from "virtualschema-common" to "virtual-schema-common". First to unify the naming schemes, second to make sure the new adapters do not accidentally use the old line of libraries. | ||
|
||
Virtual schemas provide a powerful abstraction to conveniently access arbitrary data sources. Virtual schemas are a kind of read-only link to an external source and contain virtual tables which look like regular tables except that the actual data are not stored locally. | ||
## Dependencies | ||
|
||
After creating a virtual schema, its included tables can be used in SQL queries and even combined with persistent tables stored directly in Exasol, or with other virtual tables from other virtual schemas. The SQL optimizer internally translates the virtual objects into connections to the underlying systems and implicitly transfers the necessary data. SQL conditions are tried to be pushed down to the data sources to ensure minimal data transfer and optimal performance. | ||
### Run Time Dependencies | ||
|
||
That's why this concept creates a kind of logical view on top of several data sources which could be databases or other data services. By that, you can either implement a harmonized access layer for your reporting tools or you can use this technology for agile and flexible ETL processing, since you don't need to change anything in Exasol if you change or extend the objects in the underlying system. | ||
| Dependency | Purpose | License | | ||
|------------------------------------------------------------------------------|--------------------------------------------------------|-------------------------------| | ||
| [JSON-P](https://javaee.github.io/jsonp/) | JSON Processing | CDDL-1.0 | | ||
| [Exasol Script API] (https://www.exasol.com/portal/display/DOC/User+Manual+6.1.0 (Sections 3.6, 3.7))|Accessing objects | MIT License | | ||
| [Google Guava](https://github.com/google/guava/) | Open-source set of common libraries for Java | Apache License 2.0 | | ||
|
||
Please note that virtual schemas are part of the Advanced Edition of Exasol. | ||
### Build Time Dependencies | ||
|
||
For further details about the concept, usage and examples, please see the corresponding chapter in our Exasol User Manual. | ||
|
||
## API Specification | ||
|
||
The subdirectory [doc](doc) contains the API specification for virtual schema adapters. | ||
|
||
## JDBC Adapter | ||
|
||
The subdirectory [jdbc-adapter](jdbc-adapter) contains the JDBC adapter which allows to integrate any kind of JDBC data source which provides a JDBC driver. | ||
|
||
## Python Redis Demo Adapter | ||
|
||
The subdirectory [python-redis-demo-adapter](python-redis-demo-adapter) contains a demo adapter for Redis written in Python. This adapter was created to easily demonstrate the key concepts in a real, but very simple implementation. If you want to write your own adapter, this might be the right code to get a first impression what you'll have to develop. | ||
| Dependency | Purpose | License | | ||
|------------------------------------------------------------------------------|--------------------------------------------------------|-------------------------------| | ||
| [Apache Maven](https://maven.apache.org/) | Build tool | Apache License 2.0 | | ||
| [Java Hamcrest](http://hamcrest.org/JavaHamcrest/) | Checking for conditions in code via matchers | BSD | | ||
| [JUnit](https://junit.org/junit5) | Unit testing framework | Eclipse Public License 1.0 | | ||
| [Mockito](http://site.mockito.org/) | Mocking framework | MIT License | |