DEV Community

Anisha Mohanty
Anisha Mohanty

Posted on

Teiid : Introduction

Hey everyone, I have been working on a new data integration tool. This is a small introduction to new learning. 🀩

🏷️ Overview

Teiid is a cloud-based data virtualization platform. It is a flexible Java component that provides integrated access to multiple data sources through a single uniform API. Data can be accessed using standard JDBC, ODBC, OData, or REST, even if that data resides in more than one source or in sources that do not understand standard queries. Typically it is a view building tool. πŸš€

To clear out things first, Teiid is not a database, it does not store any data. It acts as an interface or data gateway for accessing data from data sources in an optimal manner.

🏷️ Why Teiid?

Teiid offers interaction with very familiar interfaces like JDBC, ODBC, OData, and REST. It allows the capability to query from non-SQL data sources as well. Teiid is cheaper, better, and faster. It is easy to deploy and has several distributions including Teiid Spring Boot, Teiid Wildfly, Teiid Openshift, etc.

🏷️ Teiid Basics

Before getting started, here are some basic constructs of teiid.

πŸ“Œ Schema

In teiid, schemas are used to define the entities and relationships between those entities, required to fully define the integration so that they may be accessed uniformly. There are pre-built translators in teiid for MySQL, Oracle, PostgreSQL, etc.

πŸ“Œ Data Sources

Teiid provides the means (Translators and JEE connectors) to connect to various data sources, both relational and non-relational, for fetching required data.

πŸ“Œ Virtual Database

A virtual database (or VDB) is a type of database that serves as a container to transparently view and query from several other databases through a uniform API that culls from multiple sources as if they were a single entity.

A VDB has multiple schema components known as models. Each schema contains the metadata. There are two different types of schemas :

  • Foreign schema
    A foreign schema represents external or remote data sources, such as a relational database, such as Oracle, or MySQL; files, such as CSV, etc. It is also called a source or physical schema.

  • Virtual schema
    A view layer or logical schema layer represents the structure and character to be exposed to applications.

πŸ“Œ Translator

A translator converts a teiid specific command into its native command, executes, and returns a result to expected teiid types. It provides an abstraction layer between the Teiid Query Engine and the physical data source.

🏷️ Explore

There are other projects which might interest you.

  • Teiid Syndesis
    Syndesis allows us to connect to data sources, define REST APIs, integrations (like cloud-based Camel/Fuse routes), and data virtualizations in minutes. Teiid Syndesis allows us to create views and expose data as OData or database protocols.

  • Teiid Operator
    It is the job of the teiid operator to deploy Teiid on your OpenShift instance. The Operator also assists with the management of and updates to your Teiid instances.

🏷️ Futher Reading

Visit teiid repository on github. To contribute read the documentation here.

Alt

Thank you. Happy Reading! πŸŽ‰

You can connect with me on Twitter and LinkedIn ❀️

Top comments (3)

Collapse
 
aquibbaig profile image
Aquib Baig

Good read! Keep up the work

Collapse
 
rareddy profile image
Ramesh Reddy

Good Job Anisha. Congrats!

Collapse
 
anisha profile image
Anisha Mohanty

Thank you Ramesh.