Teiid Architecture
-
Designer Plugin - Deprecated Eclipse Plugin based Teiid design environment, used to connect/federate/transform datasources to produce a
.vdb
file. -
JVM - Teiid is a pure Java Data Virtualization Platform.
-
WildFly - Teiid use a plugable installation which need a WildFly Server installed, alternatively, a full installed WildFly kit be distributed.
-
Subsystem - Due to WildFly’s Modular and Pluggable Architecture(a series of Management commands compose of a subsystem, a series of subsystems compose of the whole server), Teiid implement WildFly’s Controller/Management API developed a
teiid
subsystem and reuse lots of other subsystems likeresource-adapter
,infinispan
,security
,logging
,datasource
. -
odata.war - Teiid support OData via odata.war. For more information, see OData support in the Client Developer’s Guide.
-
dashboard.war - A web based dashboard generator.
-
teiid-console - A web based administrative and monitoring tool for Teiid, more details refer to Teiid Console
-
JDBC Driver - JDBC Driver to connect to Teiid Server.
-
AdminAPI - An API for performing management and monitoring:../dev/AdminAPI.adoc[AdminAPI]
-
quickstarts - A maven quickstart showing how to utilize Teiid.
-
Client:: Client Developer’s Guide
- Transport
-
Transport services manage client connections: security authentication, encryption, and so forth.
- Query Engine
-
The query engine has several layers and components. At a high level, request processing is structured as follows:
-
SQL is converted to a processor plan. The engine receives an incoming SQL query. It is parsed to a internal command. Then the command is converted a logical plan via resolving, validating, and rewriting. Finally, rule and cost-based optimization convert the logical plan to a final processor plan. For more information, see Federated planning.
-
Batch processing. The source and other aspects of query processing may return results asynchronously to the processing thread. As soon as possible, batches of results are made available to the client.
-
Buffer management controls the bulk of the on and off heap memory that Teiid is using. It prevents consuming too much memory that otherwise might exceed the VM size.
-
Transaction management determines when transactions are needed and interacts with the TransactionManager subsystem to coordinate XA transactions.
Source queries are handled by the data tier layer which interfaces with the query engine and the connector layer which utilizes a translator to interact directly with a source. Connectivity is provided for heterogeneous data stores, such as databases or data warehouses, NoSQL, Hadoop, data grid/cache, files, SaaS, and so on.
-
- Translator
-
Teiid has developed a series of translators. For more information, see Translators.
- Resource adapter
-
Provides container managed access to a source. For more information, see Developing JEE connectors in the Developer’s Guide.