WAL: parallel logging
I don't see this feature in Oracle or Gray' book so I would
like to know what do you think about ability to have more than
1 log to let different transactions write to different logs,
in parallel. All log records from particular transaction will
go in one log file (one fsync on commit). Transactions will
choose log file to use in circle order. Each log record will have
unique id shared among all logs to order things.
By placing logs on different disk one could significantly
increase performance.
Comments?
Vadim
I don't see this feature in Oracle or Gray' book so I would
like to know what do you think about ability to have more than
1 log to let different transactions write to different logs,
in parallel. All log records from particular transaction will
go in one log file (one fsync on commit). Transactions will
choose log file to use in circle order. Each log record will have
unique id shared among all logs to order things.
By placing logs on different disk one could significantly
increase performance.
In most cases, the problem with log writes it not throughput, but
getting the disk head to the proper sector to fsync the data.
Someone said that large Sybase sites use a separate drive for logs, so
the head stays in the proper place to write the logs.
This is just a guess on my part.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Sybase uses something called user log cache's (ULC) also sometimes known
as private log caches. The point seems not to be disk contention but
contention for the log spinlock. So, each connection gets a certain sized
log cache with is flushed when full or at the end of a transaction, so
that you get fewer but larger writes to the log.
Brian
On Mon, 19 Jul 1999, Bruce Momjian wrote:
Show quoted text
I don't see this feature in Oracle or Gray' book so I would
like to know what do you think about ability to have more than
1 log to let different transactions write to different logs,
in parallel. All log records from particular transaction will
go in one log file (one fsync on commit). Transactions will
choose log file to use in circle order. Each log record will have
unique id shared among all logs to order things.
By placing logs on different disk one could significantly
increase performance.In most cases, the problem with log writes it not throughput, but
getting the disk head to the proper sector to fsync the data.Someone said that large Sybase sites use a separate drive for logs, so
the head stays in the proper place to write the logs.This is just a guess on my part.
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026