Mark Atwood (fallenpegasus) wrote,
Mark Atwood

Writing another storage engine, "Pig Engine"

I've started hacking together another storage engine. It's one I've wanted to write since before I wrote my AWSS3 engine.

I'm calling it "pig", because it's going to eat inodes like a pig eating corn.

Each table, row, and element is a filesystem directory. Each element directory contains a file that has the current value, and also a set of version files of the value, thus the table will contain it's entire history. The table directory contains a copy of the .FRM, to enable discovery. Storage engine API events write entries into a logging directory.

As it is, it's not very "useful", in that it's not fast, and it beats the filesystem half to death.

But, on the other hand, it's going to be useful to me for in three ways:

It's a good exercise in writing a more fully featured SE than my AWSS3 SE.

I think it will be a better "example" engine than the stock example engine, in that it will actually store data in an understandable form, and will be logging SE API calls.

And I'm going to modify it to store to HTTP, HTTP/DAV, and to AWS S3/SDS.
Tags: geek, mysql

  • Post a new comment


    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded