Difference between Writers

Saurabh Shukla

New Member
Hi folks,

As per my understanding these 3 writers do the below tasks -->

1. BIW > Writes the data from BI Buffers (Memory) to BI file.

2. AIW > Writes the data from AI buffers to AI files.

3. APW > Scans through BI file and writes the modified blocks into disk.


As I am new to Progress, could anybody throw some light on this? Above is what I can visualize on the writers.

But having read some lines in DB Admin Guide which confused me completely and now I can not conclude the tasks done by different-2 writers. Lines --->

An APW attempts to write a DB block whose changes are recorded in a BI buffer
that has not been written. Because BI notes must be flushed before the AI note is
flushed, the APW writes the data in the BI buffer before the buffer is full so it can
perform the AI write.


Please share your thoughts and let me know if my vision is wrong.
 
Everyone is right.

At a high level your initial understanding is correct.

There are some subtleties and optimizations beyond that is all. For instance an AIW will often flush BI notes prior to writing AI notes. It needs to do this because the BI notes must be written to disk first or database integrity is, potentially, compromised.
 
But Tom,

I am still confused..Can you please tell me in which areas they work? I mean
BIW -> Between memory and BI.
AIW --> Between memory and AI.
APW --> Memory to disk but it looks into BI file first. That is not clear to me. Please put your thoghts and share some docs.

What is the version number while comparing between BI notes and Blocks in memory?
 
I don't understand why you are confused. They do what you said -- that is they copy information, appropriate for their name, from memory to disk.

It would take several weeks to go into all of the details and I'm hardly the best person to ask -- the engine crew is much better suited to the task. But if you'd like I'd be happy to interview them and write it up for a modest fee ;)

Failing that you might want to check out Rich Banville's Exchange 2007 presentation on the before image file. It goes into a lot of really gory details about how bi blocks are written:

DB-15 Inside the Recovery Subsystem

The other writers are, of course, somewhat different but if you read and understand this presentation you may find that you have a much better understanding of those processes too.
 
Back
Top