Duane Wessels <[EMAIL PROTECTED]> writes:

>> Here's a fun suggestion from our friend Robert - how about creating a
>> _directory_ instead of a file for the COSS cachedir? Then we can place
>> the store logfile in there, the coss storefile in there _and_ any other
>> metadata. It'd make life a whole lot easier and mean you won't get bitten
>> by the requirement to specify swaplog paths..
>
> The only reason not to do that is if we want to eventually support
> using raw devices/partitions for COSS storage.  I think it was one
> of the original plans.
>
> However, to do that, the current code would need some enhancements
> to make sure that I/Os occur on 512-byte boundaries and are always
> a multiple of 512 in size.
>
> That might get around some 2GB file-size limits in some cases too.
>
> Performance-wise, I suspect it doesn't matter.  Using the filesystem
> seems to give darn good throughput already.

In fact, it's a common trend in current RDBMs: they're starting to favour
storage areas on fileystems rather than on raw devices. Linux has better
support for filesystem-based raw operations (O_DIRECT) than to raw devices
proper.

BTW: O_DIRECT would be a good approach to our FS I/O work but:
- we need to be able to keep an object hot after reading it - the OS won't
  do it for us anymore
- it only supports reading and writing on page boundaries, typically 4kb
  (we'd need to be able to pad)

I think it will be an interesting little project after Robert has completed
his I/O refactoring work.

-- 
        kinkie (kinkie-squid [at] kinkie [dot] it)
        Random fortune, unrelated to the message:
The first duty of a revolutionary is to get away with it.
                -- Abbie Hoffman

Reply via email to