Teiid Components
-
Designer Plugin - 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, more details refer to OData Support
-
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.
-
adminshell - A scripting based Monitor/Management Tool, more details refer to AdminShell
-
quickstarts - A maven quickstart showing how to utilize Teiid.
Teiid Architecture
-
Client - Client Develop Guide
-
Transport - A Transport managements client connections - security authentication, encryption, etc.
-
Query Engine - The Query Engine has several layers / components. Request processing at a high level:
-
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. Lastly rule and cost-based optimization convert the logical plan to a final Processor Plan. More details refer to 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/Resource Adapter pair to interact directly with a source. Connectivity is provided for heterogeneous data stores, like Databases/Data warehouse, NoSQL, Hadoop, Data Grid/Cache, File, SaaS, etc. - see Data Sources.
-
Translator - Teiid has developed a series of Translators, for more details refer to Translators.
-
Resource Adapter - Provides container managed access to a source, for more details refer to Developing JEE Connectors.