Subject | Re: [ib-support] Problem with growing database |
---|---|
Author | Doug Chamberlin |
Post date | 2002-12-04T22:55:53Z |
I hate to say it but I'm not sure why you are using an RDBMS for this
application.
I would create a fixed length, 100 record data file. Have the logger update
the correct record when it has to. Also, have it append a line to a text
file for the trend data. Every day have the trend file change to a
different filename based on the day. You can then remove any trend file
older than today's file any time you want.
The UI application can read the 100 record file any time it wants to. Share
it using the right permissions and the logger can be updating it at the
same time the UI is reading it.
What is missing from my description which makes it fail to meet your needs?
BTW, the reason the DB is growing is that every time you update a record in
a Firebird/Interbase database it keeps the copy of the old record around as
long as another transaction might need it. it then "garbage collects" the
stale records at some point to free the space they take so it can be
re-used. However, once disk space is taken by the database file it is not
returned to the file system until a backup/restore is done on the database file.
application.
I would create a fixed length, 100 record data file. Have the logger update
the correct record when it has to. Also, have it append a line to a text
file for the trend data. Every day have the trend file change to a
different filename based on the day. You can then remove any trend file
older than today's file any time you want.
The UI application can read the 100 record file any time it wants to. Share
it using the right permissions and the logger can be updating it at the
same time the UI is reading it.
What is missing from my description which makes it fail to meet your needs?
BTW, the reason the DB is growing is that every time you update a record in
a Firebird/Interbase database it keeps the copy of the old record around as
long as another transaction might need it. it then "garbage collects" the
stale records at some point to free the space they take so it can be
re-used. However, once disk space is taken by the database file it is not
returned to the file system until a backup/restore is done on the database file.