MySQL Forums
Forum List  »  Falcon

Posted by: Ann Harrison
Date: June 12, 2008 02:57PM

Falcon has three ways to avoid running out of space in its
record cache.

The first, and cheapest, is scavenging. A scavenge thread runs
on a regular schedule and releases the oldest "mature" records
from the cache to maintain a preset level of free space. A
"mature" record is one that is committed and visible to all
running transactions. If Falcon detects that the record cache
is low on space, it runs an emergency scavenge, outside the
normal schedule. Scavenging is cheap unless the application
has an access pattern that brings rows into the record cache,
ignores them until they age out of the cache, then accesses
them again. Such applications should increase the size of
the record cache.

The second cheapest way to reduce clutter in the record cache
is chilling records - moving new versions into the serial log.
Transactions that create new records and record versions will
force their new versions to the serial log when the amount of
data reaches a settable point. This will solve the load data
infile problem. This method is generally not very expensive
because new records are flushed to the serial log on commit.
If the transaction needs to read records or record versions
it created and chilled, it must "thaw" those records - moving
them back from the serial log to the record cache.

The third and most expensive method of freeing space in the
record cache is the backlog. It is a special tablespace that
holds record version chains. Records are moved to the backlog
after an emergency scavenge fails to find enough space.

Options: ReplyQuote

Written By
June 12, 2008 02:57PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.