On Thu, 2010-03-25 at 09:51 -0400, Barry Lafond wrote:
> Just an initial thought with only one read through. Would it be
a
good idea to implement "entire redeploy' strategy described in the
last paragraph to see if there is a performance issue?
Although, this is simplest to implement worst performing IMO. If we can
reduce the number of models that may work! But just think of a worksapce
with 10 different VDBs and each of them have 3 models, that is 30 models
to update. Just not going to scale.
I do like the concept of a preview vdb/per project. I never understood
the sharing of models across the projects. Any way we will not cross the
project boundaries for preview of data (I think). This is the minimum we
have to do use preview on this model. However there is still a risk of
single project with tens of models.
A) I too am concerned with performance. One thing Jacobs asked me
yesterday was whether we needed to actually put the models in the VDB.
We have to work with Ramesh on this, but my understanding is they
don't use the models. To execute queries, the connector info and
"query metadata" needs to be present and that means indexes to view
models and their associated/dependent source models.
RAMESH TODO: Clarify "required" VDB content.
No, the index files are the
only ones we look at. I am 99% sure we can
work with workspace index files Vs VDB index files. I am glad to test if
you can provide me a sample.
B) In discussions with Ramesh a couple of weeks ago, he was receptive
to providing hooks for our "hidden" VDB concept, so I'm hoping there
is some wiggle room here.
RAMESH TODO: Clarify ability to manage a special/simplified VDB.
Once we have decided how we going to do this, I am fine with working out
any reasonable approaches that deviates from the current deployment
model for preview purposes.
C) There are "export" methods in Teiid API that I'm guessing will
allow us to just copy/paste connectors between Teiids. If not, we have
to do a little more work, but its doable.
Yes, there are exports for VDB, connector bindings and types.
D) I'm still struggling with the concept of a "SandBox"
Teiid. If a
user has multiple Teiids and there are Connector Types that don't
reside on ALL Teiids, then as a user, I'd have to work a little
harder, switching between "SandBoxes" as I try to create source
models, wire them to different Teiids for the purpose of "Preview Data
".
I am not sure why you guys are hung up on multiple Teiid instance
usecase. This is not the scenario 90% of the times. IMO, preview should
be done from single Teiid instance, preferably that is local. For the
execution of VDB in DTP you can connect to any Teiid instance of your
choice. This makes things lot simpler!
I think the Hidden VDB concept is still the cleanest paradigm. User
need only Import/Create Sources. Create View models.
Assign/change/swap (DND) models to connectors deployed on any Teiid
and the Preview Data just works. I can also have a source model bound
to connectors on multiple Teiids. As long as we decorate (via Model
Explorer AND Execution/Connectors/Teiid View) this connectivity we
should be good to go.
> Lastly, I was also thinking maybe for physical models only, we could
additionally include the option to preview the import/actual source to
help verify against results coming from Teiid.
E) As long as we're successful in replacing our JDBC calls at import
time with DTP's version, I think we should be able to preview the
actual source.
I see not much value; source queries are sent directly to source
through
Teiid. It would be no different, unless you are letting users type the
SQL, in which case they can use certain functions that are not supported
by the source and evaluated by the Teiid. We do not let uses type in SQL
for preview, so no issue. They could always use DTP or Squirrel to do
that.