How to delete / archive legacy system data on Progress db

sgd123

New Member
We are using Progress 9.1E database for a legacy application. We would like to perform archive / delete activity to cut short the size of few big size tables. We have some rough understanding on parent / child relationship for tables for archiving / deleting data. Has anyone performed archive / delete activity thru Progress? Would like to know if Progress recommends archive/delete on legacy data. Appreciate the reply. Thanks in advance for your replies.
Santosh
 

tamhas

ProgressTalk.com Sponsor
Archiving is certainly possible, but *does* require understanding the schema. Attempting to do so without understanding the schema would be very high risk.

But, let me ask why you want to archive. Doing so is going to require new code to access the archived data and new procedures for archiving. All of which sounds challenging if you are starting off without understanding the schema well. Are you running out of disk space? More disk is certainly cheaper than creating an archiving solution. Are you experiencing performance issues? If so, that is almost certainly due to bad code, not table size.
 

Chris Hughes

ProgressTalk.com Sponsor
I agree with Tamhas.

You would be far better off reading about performance tuning - make sure you are using the maximum -B buffer settings on your databases etc.

Is this system still being updated or is it read only?

You would get a huge performance gain if you were to put you databases onto an SSD drive - as above much cheaper and less time consuming than coding.

Also if may be worth mentioning the product as the same ones tend to come up again and again - there may be experience on this forum of it.
 

sgd123

New Member
Thanks for your replies. It seems there are multiple databases with redundant data inside tables which they want to get rid off. Business thinks that it's better to identify and move inactive data out of current production systems into archival storage system. I know that Progress database maintains referential integrity programmatically. Hence it's necessary to understand the table relationship well as you said. Also I feel that it is necessary to study DML (insert, update & delete) operations logic to understand legacy code, functions, libraries used while building archival (deletion) solution. I know there may be many more challenges like this. Of course performance improvement measures will be the first priority to begin with. Thank you for sharing your experiences on Progress data archiving.
 

tamhas

ProgressTalk.com Sponsor
It might be worth noting that if there is any budget, a Progress-knowledgeable consultant could jump start the learning curve dramatically.
 

GregTomkins

Active Member
'I know that Progress database maintains referential integrity programmatically.'

This is news to me - certainly not in v9 and AFAIK not in any versions.

Unless perhaps by 'referential integrity' you mean that Progress guarantees that index entries are valid. But I take it to mean that foreign keys always exist, etc.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Or maybe you mean "Progress applications must maintain referential integrity programmatically, if at all". Because it isn't enforced by the database engine.

Also, don't assume that purging automatically improves query performance. In fact it could be worse after a purge, until you perform index maintenance (rebuild or compact).
 
Top