cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Creating performant pushdown SQL in Oracle

Former Member
0 Likes
286

I am using DS 3.1 and the ECCD methodology and have the following issue in Oracle. The situation is as follows -

I have two datastores, each pointing to diffferent schemas.

SourceDS - SchemaA

Tables - SourceTab

ExtractDS - SchemaB

Tables - ExtractTab

My extract DF is extremly simple,

SourceTAB -> Query -> ExtractTab.

This DF produces a simple SELECT ... from SourceTAB piece of SQL and not an INSERT /+ APPEND/ INTO ... piece of SQL which will perform much better.

I assume that DI thinks that SchemaB cannot see SchemaA's tables and therefore brings the data into the engine from SourceTab and then pushes it into ExtractTab.

To overcome this SchemaA has granted select privilege on SourceTab to SchemaB.

Then I import SourceTab into ExtractDS. Having both tables in the same DS allows DI to produce the required INSERT /+ APPEND/ INTO ... piece of SQL.

How can I achieve the performant SQL without the tables being in the same DS, but remaining in their orignal datastores ?

Any ideas please ?

View Entire Topic
werner_daehn
Active Contributor
0 Likes

We are switching back and forth on this topic.

In some releases we pushdown automatically in such a scenarion - and get complaints from those users who did not or cannot grant the permissions.

In current releases we are more on the save side and push down only if we are sure - unfortunately we cannot recognize if the tables are select-able or not.

Another point to consider are aliases and datastore configurations. What if the owners of the tables are different according to the repo however by using aliases in the datastore config we make them the same. Ot vice versa.

To cut a long story short, sooner or later we will have to make both groups happy - somehow. For now, don't use two datastores but one instead. (via repo export, etl edit and import this can be changed quickly)