Added Database plugins -- feedback?

robb robb at canfield.com
Sun Aug 26 23:30:44 UTC 2007


During some profiling to find out why backups were slower than I thought
they should be. I found SQLite responsible for a lot of overhead. Since
the Brackup tables are all simple key=value pairs I tried DBM file
support. For GDBM the results were 1:45 vs 1:17 (favoring GDBM) which is
about 24% improvement! The tests were done using gpg and SFTP (far
distant server) and I expected that bewteen gpg and network latency the
difference in local data storage would be nominal. I was wrong, it still
was quite measurable.

So now, Brackup  supports Database plugins. The default is of course
SQLite. I have added support for AnyDBM as well (preferred DBM order:
GDBM_File NDBM_File SDBM_File). Other database engines should be easy
enough to add.
  [DATABASE]
  #type = AnyDBM
  #type = SQLite

The interface allows for an initialization method so MySQL, Postgresql,
etc. should all be pretty easy to add as additional plugins.

** WARNING: I tried adding DBM::Deep but that is incompatible with
Net::SSH at some VERY low level. I ran out of time diagnosing it.

I am accumulating changes over the next few days but if anyone is
interested I will push a stable (as "stable" as it gets right now) to my
web server sooner.

I am rather concerned that some of the changes I have made might not be
desired by the Brackup community. Any feedback would be appreciated.

Robb
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.danga.com/pipermail/brackup/attachments/20070826/fc059ace/smime.bin


More information about the brackup mailing list