And the response. Erik Massop / nesciens
Begin forwarded message: Date: Fri, 10 Jul 2009 17:40:16 +0200 From: Sivert Berg <sive...@stud.ntnu.no> To: Erik Massop <e.mas...@hccnet.nl> Subject: Re: S4 Status Report On Fri, 10 Jul 2009 17:04:01 +0200 Erik Massop <e.mas...@hccnet.nl> wrote: > On Thu, 9 Jul 2009 21:00:18 +0200 > Sivert Berg <sive...@stud.ntnu.no> wrote: > > > > Drawbacks: You didn't think the performance improvements came for free > > > > did you? The biggest drawback is that S4 isn't ACID-compliant, meaning > > > > we don't guarantee anything. So if your little kid thinks your > > > > powerplug looks like a fun toy and unplugs it all bets are off and you > > > > may lose all data that has not been synced yet. However in most cases > > > > this will not be a big deal as the medialib are mostly just read. > > > > > > You don't accidentally have S4 implemented in Berkeley DB as well? > > > > Well, kinda sorta. There is a BDB backend but it's not really up to > > date. It was mostly to see the difference between BDB and rolling our > > own, and BDB got quite slow once transactions were tossed into the game. > > Did it get slow with multiple simultaneous transactions, or also with a > single transaction at a time? I only tried single threaded (one transaction). Most of the time was spent writing transaction logs to disc. > And what is the performance if you don't > use BDB's own transaction management, but instead use the > database-wide locking which home-grown uses? (Or does BDB not allow > such do-it-yourself transaction management?) I tried without transactions first and then it was about 1.5-2x slower than S4 if I recall correctly. But without transactions I couldn't find a way to guarantee consistency (we could have used the locking subsystem to lock it, but I couldn't find a way to make sure the database is recoverable after a crash without transactions). -- Sivert Berg -- _______________________________________________ Xmms2-devel mailing list Xmms2-devel@lists.xmms.se http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel