Skip to content

Commit

Permalink
Merge pull request #3 from AnastasiiaSergienko/enhancement/1_Update_R…
Browse files Browse the repository at this point in the history
…eadme.md

#1: updated Readme.md
  • Loading branch information
AnastasiiaSergienko authored Jan 24, 2019
2 parents 22cc81d + 52d2249 commit af2a425
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions README.md
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%">&#9888;</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 |

0 comments on commit af2a425

Please sign in to comment.