It's all about the answers!

Ask a question

RTC Data Model Deployment into DB2/Derby


Nirmal Kumar (111) | asked Sep 18 '08, 3:34 a.m.
Hello All,

I am trying to deploy the data models (e.g. Ecore data model)
into DB2/Derby, the default beahviour is that it creates
1) One primary key on one column
2) Either Unique/Non-Unique indexes on the remaining columns of the tables.

Is there any way to change this default beahviour of RTC where in we can controll the index creation( only one specific column(s) or set of columns and not on all the columns) from RTC
since as the data volume grows heavily, there might be performance impact on the backend databases.

I did try the option of indices Child node under
teamClass in the RTC but it could not change the default beahviour.

Any suggestions/pointers would be highly appreciated.

Regards
Nirmal
email : nirkuma5@in.ibm.com

2 answers



permanent link
Dmitry Karasik (1.8k11) | answered Sep 18 '08, 3:48 a.m.
JAZZ DEVELOPER
On Thu, 18 Sep 2008 07:38:03 +0000, nirmalkumar wrote:

Is there any way to change this default beahviour of RTC where in we can
controll the index creation( only one specific column(s) or set of
columns and not on all the columns) from RTC since as the data volume
grows heavily, there might be performance impact on the backend
databases.

You could take a look into implementing the
com.ibm.team.repository.service.internalComponentMetadataProviderFactory
extension point. Then in your metadata provider you can override
addPrimaryKey*, addIndexForQueryablePropery, etc. to do what you want.

Note however that this is not API.

- Dmitry

permanent link
Ritchie Schacher - IBM (47611) | answered Sep 18 '08, 8:36 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
As Dmitry noted, this is not API and as the package name implies, it's
internal. This is one exposure where we hope to reduce the visibility in
the future so if you take this approach you run the risk of being broken in
future releases. The motivation behind indexing every column is for
platform safety. Since the system is open-ended and extensible, we have no
control over what columns might be queried, and table scans could be
disasterous.

In practice in our own self hosting we've not found the indices to cause a
performance problem for the data models built on this framework. For
example, Work Items provide an open-ended query editor and any column could
be part of the where clause. Work items have a fairly large number of
attributes as well and each column is indexed.

Does the property that you do not want indexed have to be queryable?
--
Ritchie Schacher
Jazz Server Development

"Dmitry Karasik" <dkarasik> wrote in message
news:gatf5h$m10$1@localhost.localdomain...
On Thu, 18 Sep 2008 07:38:03 +0000, nirmalkumar wrote:

Is there any way to change this default beahviour of RTC where in we can
controll the index creation( only one specific column(s) or set of
columns and not on all the columns) from RTC since as the data volume
grows heavily, there might be performance impact on the backend
databases.

You could take a look into implementing the
com.ibm.team.repository.service.internalComponentMetadataProviderFactory
extension point. Then in your metadata provider you can override
addPrimaryKey*, addIndexForQueryablePropery, etc. to do what you want.

Note however that this is not API.

- Dmitry

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.