Skip to main content


Showing posts from June, 2015

8.11 Final Released, Support for OData V4 and SAP HANA

Keeping up with tradition of releasing a minor release every 3 months, the Teiid community is proud to announce yet another feature rich release - 8.11.0.Final. We have resolved 117 JIRA issues (features, enhancements, bugs) in this release. You can download the latest version from JBoss EAP & Teiid: Note that in this release the base environment to deploy Teiid is moved JBoss EAP 6.4 platform. For your convenience, we are also providing a download link where EAP 6.4 Alpha + Teiid 8.11 + Teiid Web-Console bundled all in single downloadable file. You also have choice of using Docker image if you choose to at Docker Hub . Embedded Teiid: If you are working with Embedded Teiid checkout our new examples repository at  For embedded we are changing from providing a kit, to just relying on maven and the examples for 8.12.  We want provide as many example scenarios as possible, so that you can pick a

SQL on MongoDB using Teiid - Part 2

In the previous article SQL on MongoDB using Teiid - Part 1 I showed a simple example how one can start using SQL based queries on MongoDB using Teiid. I have showed how to install and configure the Teiid and test. The previous example was very simple that generated a MongoDB collection for defined relational table in Teiid. One of many advantages of NoSQL based stores like MongoDB is, user's ability to de-normalize data such that data for related entities is co-located. When the data is co-located there is no requirement for defining the relationships across entities, and queries will be naturally faster to execute. However, in relational databases data is more often very normalized, the naive implementation of relational to MongoDB where one table is mapped to a collection will result in very poorly performing queries. The solution is, utilize the MongoDB's nested document feature to represent a relationships in Relational database. In this article, I will show how to

Teiid 8.11 CR1

Teiid 8.11 CR1 is now available from the  downloads  and maven.   There are no new features since Beta3 as we were focused on address as many regular issues as possible, including further refinements to the materialization logic.  The feature set for the entire release is looking good: TEIID-3372 Multiple metadata  elements can now be used to configure a vdb. TEIID-3369 Custom query rewrite - via a configurable PreParser. TEIID-3389 Kerberos Delegation JDBC driver can now participate in kerberos delegation based authentication TEIID-3390 SQL/XML improvements in performance and disk utilization. TEIID-3362 ARRAYITERATE system procedure for iterating over an array. TEIID-3393 Embedded AdminApi is now available from EmbeddedServer.getAdmin. TEIID-3270 Virtual Functions can not be defined with procedure syntax. TEIID-3434 More caching control over ttls in the result set cache down to the schema/table level. TEIID-3412 MS Access support v

SQL on MongoDB using Teiid - Part 1

In this article series, I will showcase how you can use SQL based queries with MongoDB. In general there seems to be resurgence of SQL based access to all NoSQL based stores in the market space, take for example Hive, Impala, Spark, Apache Drill etc. The main reason for this shift is there are abundant amount of talent pool out there for SQL based developers, and even today (and years to come) our strong dependence on the relational stores for the enterprise data. I do not see either of them fading away any time soon. So utilizing the known skills on new types of data stores will save you lot of time and provide better integration with rest of your enterprise applications. I know there are plenty of folks offering SQL based access to MongoDB, why you should choose Teiid? Teiid provides full ANSI compatible SQL based access to MongoDB. This includes full SQL-92, and most SQL-99 and SQL-2003 support. Provides JDBC/ODBC access to execute SQL queries. Provides ODATA based access to

Tech Tip: Teiid SQL Language MAKEDEP Hint Explained

In this article I will explain what a MAKEDEP hint is, how and when, why it should be used in Teiid. What: MAKEDEP is query hint.  When a query hint is defined in the SQL query it influences the Teiid query planner to optimize the query in a way that is driven by the user. MAKEDEP means "make this as a dependent join". What is a Dependent Join? For example if we have query like: SELECT * FROM X INNER JOIN Y ON X.PK = Y.FK Where the data for X, and Y are coming from two different sources like Oracle and WebService in Teiid, so in relational algebra you can represent above query as Here the result tuples from node X and node Y are being simultaneously fetched by Teiid query engine, then it joins the both the results inside Teiid engine based on the specified X.PK = Y.PK condition and returns the filtered resulted to the user. simple.. Now, what if, if X table has 5 rows and Y table has 100K rows? In order to do the JOIN naively Teiid need sto read all the 5

Teiid 8.11 Beta3 Posted

Teiid 8.11 Beta3 is now available from the  downloads  and maven.   The main feature highlight since Beta2 is a community contribution from Tom Arnold to add support for the REGEXP_REPLACE function - a more powerful version of the REPLACE function that supports regular expressions. There were a lot of late changes, thus the decision to release another beta rather than progress to CR1.  It is expected that we'll produce a CR1 by June 10th - with the final to follow at least a week later. Also we're looking at starting on Teiid 9.0 soon.  If you have any major features you'd like to see, please start a forum topic of log/vote for a JIRA issue.  Another parallel effort could be to produce a Wildfly enabled 8.x release -please let us know if there is any interest in that. For 8.11 we've addressed 90+ issues so far - with your help we'll close out quite a few more before the final release. Thanks again for all of the community efforts. Steve