Skip to main content


Showing posts from 2010

Teiid 7.2 Final Released

We are pleased to announce Teiid 7.2 with numerous features, improvements, and bug fixes. Here are some highlights:
SQL SupportNon-Recursive Common Table Expressions - The WITH clause (and associated pushdown) for non-recursive queries is now supported. Explicit Table Syntax - TABLE x can now be used as a shortcut for SELECT * FROM x JSON Support - JSON, which could be obtained through the ws-translator using http calls or other methods, can be converted to XML using the system function jsonToXml. XMLTABLE and other integration logic can then be used on the JSON results. Transaction Statements - JDBC/ODBC now accepts START TRANSACTION, COMMIT, and ROLLBACK statements to control local transactions. Procedure Result Caching - virtual procedure definitions may use a cache hint to cache results in the result set cache. Improved Plan Caching - plans used by internal materialization and stored procedure plans will be automatically cached in the prepared plan cache. …

7.2 CR 1

After a small delay, 7.2 CR1 adds support for converting JSON to XML and creating CSV output via the TEXTAGG aggregate. Numerous fixes have been added from internal testing and excellent user reports.

Please let us know if your resolved JIRAs need any additional work before the final release next week. And now is the time to put in enhancement requests for 7.3, which is still slated for the end of the year.

The Teiid Team

7.2 Beta 1

7.2 Beta1 includes support for non-recursive common table expressions (including pushdown support), improvements to multi-source update logic, refined procedure assignment statement syntax, the session_id system function, and various bug fixes.

Give it a try and vote for any issues you want to see in the final release. Time is running out though as we expect a candidate release early next week.

The Teiid Team

7.2 Alpha 2

7.2 Alpha2 includes various bug fixes and adds support for replication of result sets and internal materialization in clustered mode. We also added support for IPv6 network addresses.

One major security change in this release is by default Teiid's Admin port is now secure. So if you need to access Admin API from AdminShell or Java classes, before sure to use "mms://" protocol instead of "mm://".

Give it a try and vote for any issues you want to see in the final release.

The Teiid Team

Teiid Designer 7.1 Released

Teiid Designer 7.1 is ready for download.

This release further solidifies and enables key data access capabilities for the Teiid 7.1 runtime framework.

The major features of this release are:
Restored Preview Data featureData Role management in VDB EditorLDAP and Salesforce connection profile contributions compatible with Eclipse Data Tools frameworkWeb Services support through generation of deployable web service War filesNew DDL into Relational Model importerSupport for multiple User Defined Function modelsTighter integration of Teiid Designer connection management with Eclipse Data Tools

See the release notes for more details.

Interested in getting started with data services? Use our Quick Start Guideand you'll be off and running in no time.

Thank you.

Teiid Designer Team

Convert XML data into Relational Table data using Teiid

In this article I will show how to convert XML data into relational form using Teiid using "XMLTABLE" SQL/XML function. XMLTABLE is defined in SQL/XML 2006 specification and is supported by most major databases like Oracle, DB2 etc. XMLTABLE functionality is introduced in Teiid 7.0. If you are already familiar with using this function it is no different in using it in Teiid.

Please see this WIKI article for complete information.

Generating XML data from the Relational Data:If you need to produce the XML data Teiid provides various SQL/XML functions for that purpose too. Check out this article on the available SQL/XML functions. These are functions are also supported by Teiid.

In a future article, we will how show you how to use these SQL/XML functions and create a web service by just using the Teiid Designer and Teiid.

Teiid 7.1 Final Released

Teiid 7.1 continues the 7.x series with numerous features and performance improvements. Here are some highlights:
ODBC Support - Support for ODBC access is now available through PostgreSQL ODBC driver clients. See the Client Developer's Guide for more on how to use Teiid's ODBC access.Native Materialized Tables - views marked as materialized without a target table will be materialized internally by Teiid. Materialized view tables will be indexed by the primary key of the view if present and can be controlled through the expanded cache hint. There are also new system procedures refreshMatView and refreshMatViewRow to refresh materialized view table contents.Expanded Cache Hint - The cache hint can now specify pref_mem to indicate that data should prefer to be held in memory, ttl to indicate the time-to-live, and updatable to indicate that a materialized view with a primary key can be updated by row with the refreshMatViewRow system procedure.SQL Support

7.1 CR2

7.1 CR2 is now available. This should be the last CR prior to the final release. This CR provides an expanded cache hint to control result set cache and materialized view entries. VDB versioning, which allows multiple VDBs with the same name to be deployed at the same time, is now supported through the use of a file naming convention vdbname.version.vdb - dynamic VDBs may use use the vdb.xml version attribute to denote version. See the release notes in the kit and the JIRAs for more information. More documentation changes will be coming before the release.

The Teiid Team

Text To Table with Teiid

If you are a programmer, chances are that you have written code at least once to read data from a text file to do something with data. Today, I am going to show you how easy it is convert the text contents into a relational Table data using Teiid with out any code.

If you are ready parse the Text with Teiid, read about it in this article.

In the next blog, I will show you how to convert XML data into a Table, so stay tuned.


Teiid Team.

7.1 CR1

7.1 CR1 is now available. This release builds on the alpha release with additional fixes and a revamped temp table system. Temporary tables now support atomic update operations and an optional primary key with a clustered index. This greatly improves the performance of temporary tables for comparison, in, like, and order by operations using the index.

The final release is drawing nearer. Make sure to try out CR1 to ensure your features and fixes are in.

The Teiid Team

7.1 Alpha2

7.1 Alpha2 is now available. The big feature is ODBC access support. From any platform that the Postgres ODBC is available, you can now access Teiid and therefore any source Teiid supports through ODBC.

So if you need ODBC access to a legacy system, then there's no need for a proprietary ODBC/JDBC bridge or loads of custom development for you're own driver - just use Teiid and enjoy all the integration and expanded SQL capabilities as well.

The Teiid Team

7.1 Pre-release

7.1 Alpha1 is now available. Even though 7.0 was just released, we have been working hard to pack more features and fixes into 7.1. What is already available:

SQL Support
Added NULLS FIST/LAST handling - including pushdown support.
Added enhanced numeric stat aggregate functions STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP, with pushdown and aggregate decomposition.
Added support for the boolean aggregate functions ANY, SOME, EVERY.
Added support for using boolean value expression as both criteria and expressions, e.g. "... where boolean_value" or "select x = 1 as boolean_value ...".
Changed named procedure syntax to accept param=>value, rather than param=value.
Parallel Source Queries - reestablished parallel execution of source queries within a query plan along with a prioritized work system to help prevent resource contention.
SHOW Statement - added client handling for the SHOW statement to retrieve query plan information and see execution property values.
ODBC access…

Teiid Designer 7.0 Released

Teiid Designer 7.0 is ready to roll and is now available for download.

It's been difficult to keep up with all of the important, fundamental changes to Teiid 7.0 but we are finally there.

This release provides a much more integrated Eclipse experience targeted for developers who want to create, integrate and manage various types of data sources. In Designer 7.0, you will now utilize Eclipse's Data Tools Platform and it's inherent connection profile management framework to assist in both importing/creating relational source models and in testing your VDB's via Teiid JDBC connections.

Creating and editing your VDB's has been greatly simplified in Designer and this release also provides a quick means to deploy and test your VDB's in a running Teiid server.

The primary goals of this release were:
Provide upgraded tooling for creating and managing deployable Teiid artifacts (VDBs)Simplify VDB creation, editing and managementReplace custom connection framework with existi…

Teiid 7.0-Final Released

After a long journey (9 months after 6.2 release), we are very excited to announce the release of Teiid 7.0. We revamped the Teiid architecture and removed quite a bit of legacy MetaMatrix to poise our project for future development. At the same time we now integrate seemlessly with other JBoss technologies such JBoss AS, Microcontainer, JOPR, JBossTM, PicketLink, Netty, etc. Teiid is ready to meet your data integration challenges.

While simplification was a consistent goal of this release, Teiid still supports most of the features available in Teiid 6.2 and earlier. Some notable new features are:
The runtime environment. Now Teiid runs inside the JBoss AS. Check out all the benefits in "JCA Container Integration, why Teiid needs it?" series.Simplified Connector development with a split into the Teiid Translator API (largely defined by a single class) and JCA.
Enhanced JAAS based security. Many out of the box implementations available.Support for JCA based connectors.JOPR web-…

JCA Container Integration, Why Teiid Needs it? Part 5

Reason #5 JBoss AS Container

This reason seems to compliment the title of this article and at the same time contradict some parts of it. Let me explain, it compliments because JBoss AS provides hosting environment of all the reasons described before, and at the same time it takes initial goal of Teiid to be container agnostic. During the development of Teiid 7.0, we tried to be independent of not using any particulars of any single container and sticking to common libraries and specifications, however in few places we had to use JBoss AS specifics like Profile Service, propagating the security contexts etc. Overall, benefits outweigh the hard dependency on JBoss AS. Lets explore the benefits.

Provides a JCA environment for Teiid with transactions support. Any connector (resource adaptor) in JBoss AS can be used with Teiid Translator.
Single installation. Teiid is installed on top JBoss AS installation, thus, this defines installation directory structure for the Teiid. Since Teiid compone…

Teiid 7.0 CR1 Released

We are pleased to announce that after many long hours of work Teiid 7.0 CR1 is available.

This candidate release refines our separation of the old connector API into light weight Translators and JCA components [1].

Text [2] and web service [3] integration has been redesigned from the ground up to simplify usage. Nearly all of SQL/XML 2003 [4] support has been added, as well as XMLTABLE [5] and XMLQUERY [6] from SQL/XML 2006 which replace our old xml/relational logic and direct XQuery integration respectively.

See the examples for a Dynamic vdb that calls and processes REST and RPC webservices from the National Weather Service for getting started with some of the XML features.

Support for nested table references was added [7], which is a better alternative Teiid's procedural relational style queries. And finally the AdminShell now has both a command line and a graphical mode thanks to a redesign utilizing Groovy [8].

As you can see there is a lot of new and powerful features available…

JCA Container Integration, Why Teiid needs it? Part 4

Reason # 4 JBoss Microcontainer

JBoss Microcontainer (MC) is at the core of JBoss AS and provides many essential services needed in developing any enterprise software application. Teiid utilizes MC, through several of its key sub-frameworks, to manage services and configuration/deployment artifacts.

Service Framework:

Prior releases of Teiid defined their own service framework(s). These legacy frameworks each had essential flaws - such as not being flexible in defining new services, not providing dependency management, or cumbersome/non-existent configuration management. Teiid in the 6.x releases used "google-guice" for dependency management between services with homegrown configuration management. The service lifecycle was explicitly managed through admin api methods.

MC provides a POJO based service framework with IOC style dependency injection and full lifecycle management. A simple XML based configuration can your POJO based services along with their state and dependencies…

JCA Container Integration, Why Teiid needs it? Part 3

The Teiid project is being integrated to run inside a JCA container. In earlier posts I gave two compelling reasons for the move.

Reason # 1
Reason #2

Today we examine #3

Reason 3: Security

Security is vitally important for any enterprise application. This is especially true for Teiid as there are typically strict organizational rules governing access to data sources. At a high level Teiid allows for a customizable user authentication/authorization system. There are pre-defined system administrative roles and data authorization roles can be defined for each virtual database (a.k.a. entitlements, or data roles) to govern access at a granular level.

Teiid 6.2 (and earlier) Security Features

Teiid 6.2 provided a Membership API to define customizable security domains from which to obtain authentication and authorization information. Teiid shipped with implementations of LDAP and File based membership domains. Security at the connector level was supported, static credentials, client passed cr…

JCA Container Integration, Why Teiid needs it? Part 2

Continuing from our earlier discussion "JCA Container Integration, Why Teiid needs it? Part 1", here we will discuss the next reason.

Reason 2: JCA API

What is the JCA API?

From the spec site (J2EE Connector architecture): JCA defines a standard architecture for connecting the J2EE platform to heterogeneous EIS systems. Examples of EIS systems include ERP, mainframe transaction processing, database systems, and legacy applications not written in the Java programming language. By defining a a set of scalable, secure, and transactional mechanisms, the J2EE Connector architecture enables the integration of EISs with application servers and enterprise applications.

What is a Teiid Connector?

Teiid connectors also connect to heterogeneous EIS systems, but they implement a Teiid specific Connector API to:
Consume commands from the Teiid engine in SQL command object form and translate them into native commands to query and update enterprise sources.Deliver resultant data in a tabular or …

Teiid Designer 6.3 Available

Due to Eclipse packaging and project version dependencies, Teiid Designer 6.2 was not compatible with Eclipse 3.5. This required updating to newer versions of Eclipse EMF and UML2 projects which resulted in some minor code changes.

So this 6.3 release keeps Teiid Designer in sync with Eclipse.

Note that the embedded version of Teiid remained the same within Designer, namely Teiid 6.2.

Visit our download page for more details.

Next our team will focus on a Teiid Designer 7.0 release which will provide tooling changes required to keep pace with Teiid 7.0 release.

Barry LaFond
Teiid Designer Project

JCA Container Integration, Why Teiid needs it? - Part 1

A huge architectural change for the Teiid runtime is upcoming up in Teiid 7.0 release. Teiid is being integrated into a JCA container - JBossAS 5.1.0 GA. In this new platform you can expect all the data integration features of Teiid with power and flexibility of JBossAS.

If you are thinking, Teiid is a relational data integration engine what does it has to do with a JEE container? This has little do with Web technologies. It is all about JCA (Java Connector Architecture) and the advanced development features of JBossAS. Let me explain each reason in a multi-part series of articles.

Reason 1: Right ingredients. Integrate with modules designed by the domain experts.

Even though Teiid is a data integration engine, the inner runtime workings of Teiid apart from the command parsing, relational planner and optimization engine are much more similar to any enterprise server application. Like security, user management, resource management, log management, caching, availability, scalability, relia…