Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to pick a RDBMS for usage as a backend for KDE's Akonadi PIM framework.

Problem is that the storage (/home partition) resides on a pretty slow SD card with reiser4 filesystem on it. The filesystem is based on COW and transactional model itself, so its fsync() performance is very low - while InnoDB uses it for its own transaction system. Hence the whole system is practically unusable.

What can be done to improve this? Possible backends for Akonadi are: MySQL (with InnoDB and MyISAM backends), PostgreSQL and SQLite. Actually, no scalability is needed as there is the only client.

share|improve this question
    
use a faster SD card? –  Keltari Jan 21 '13 at 16:01
    
For something like this I would say MySQL and PostgreSQL are overkill - SQLite is much more, well, light and doesn't involve a server. –  Alan B Jan 21 '13 at 16:15
    
Hm. I've just tested SQLite against both MySQL backends and it seems that SQLite is not any faster than MySQL/InnoDB. And by the way, MySQL/MyISAM is actually a whole lot faster (no benchmarks, just user experience) than both of the above. –  intelfx Jan 22 '13 at 10:06

1 Answer 1

up vote 0 down vote accepted

...So I've done some research.

I've tested:

  1. MySQL with InnoDB backend - nearly unusable
  2. SQLite - also pretty unusable, speed drastically decreases with total row count
  3. PostgreSQL - not tested, because the corresponding Qt's database driver was not available
  4. MySQL with MyISAM backend - no lockups altogether; perfectly suits me.

Yes, I know that MyISAM is not transactional and hence I'm risking integrity of data... But for Akonadi (which is just a caching frontend) it is completely ok.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.