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

We are happy to announce the new Windchill Customization board! Learn more.

Purging non-latest iterations in Windchill

BrianFenicle
5-Regular Member

Purging non-latest iterations in Windchill

I'm wanting to delete non-latest iterations for our WTParts, WTDocuments, and EPMDocuments.  I'm expecting to use the purge command, but am open to other ideas.  We are running 11.0 MO30

My thinking is that by removing the 'non-released' iterations, I will be eliminating a lot of wasted resources. Im expecting to eliminate about 2.5M WTpart instances (a 25% reduction), 10.5M EPMDocument instances (a 50% reduction), and 250,000 WTDocument instances (a 20% reduction).  As a result of that purge, I think I will

  1. save many GB of disk on my file server for the documents and their representations.
  2. save GB of disk on my database server
  3. save time in any query because there will be far less records to process.

My questions are this:

  1. Does anyone have reasons I should not be purging latest iterations.  Ie, the business will lose some important data somehow (presuming they are following some unexpected/bad data management practice)
  2. If anyone has done this, should I expect to see a noticeable improvement in end user experience or SQL query times?  I have heard that PTC has done a lot of work to keep performance stable as data volumes grow, so I don't want to take a risk on losing any important data and not see a major win.

Appreciate any insights.

Brian

 

2 REPLIES 2

Brian, here are my thoughts on this.

 

1) The typical reasons for NOT purging data like this is records retention and/or traceability.  Depending on the data being purged (commercial vs government related) there are likely different retention periods required by contract.  Assuming the retention periods are not an issue for what you are trying to do the next question is traceability.  Some companies for example want to know how they got to iteration N.  Users check-in/out objects (adding/removing relationships, attachments, discussions, comments, annotations etc....)….and in many cases its easier to see how we got to the end state (latest iteration) by viewing that history and who did what etc...  If neither of those is a concern I see nothing else holding you back.

 

2) Regarding performance I would bet you are NOT going to notice a sizeable difference.  I only say this because from an end user perspective its really just the db queries that you notice directly from the UI and those are usually tuned fairly well.  However, if a number of the objects you are deleting have a lot of attributes stored in the IBA tables (StringValue, BooleanValue etc...) you could notice some improvement as those tables are usually gigantic and querying them tends to be one of the slowest operations.  Generally speaking though I think the biggest benefit you reap is the disk space savings.  Many companies spend a significant amount of $$ for server space and if you can buy back several GB of disk space it could save some money.....just not sure of what your disk space costs are and exactly how much you would save.

 

My only other concern is with deleting EPMDocument records and that is purely because these are really complex.  You will want to make sure you don't end up purging iterations that are still tied to an As Stored specification for example.

 

Hope this helps.

BrianFenicle
5-Regular Member
(To:BrianFenicle)

Apologies for the typo.  This line

1. Does anyone have reasons I should not be purging latest iterations?

should say

1. Does anyone have reasons I should not be purging non-latest iterations?

Top Tags