powered by Jive Software

Trying to decide on a database

Please forgive my ignorance…

I have been piloting openfire/spark at my site for a couple of weeks and it has become popular (with about 20 users). Mgmt wants to roll this out to the enterprise (anywhere from 1000-2000) users.

We currently have an IM program that is planned for removal because of licensing and a retiring admin and we don’t have a good metrics regarding how much the current product is used.

What should be my concerns going from 20 users to 1000+ users and will the embedded database handle that load (or should I use mysql)?


you may want to use a database which you can backup and restore. The embedded database (HSQLDB) is file based and can be backed up with a simple file copy.


Should I be concerned about the number of users and activity if I use HSQLDB? Is HSQLDB “less robust” than MySQL?


HSQLDB is a very stable product. See http://hsqldb.org/ or http://www.hxsql.com/ and http://hsqldb.sourceforge.net/web/hsqlFAQ.html - “How solid is HSQLDB” / “How solid is HSQLDB when a machine crashes”.

I did never have problems with HSQLDB since I use it (~ 4 years) even after server crashes.


We use Oracle for the back end database but then we support 4000+ users. The biggest concern is more the speed and number of messaging servers not the DB that is behind it. mysql should be able to handle those users without a problem.


if you plan to use an archiving or monitoring plugin you must use an external database. Otherwise you will encounter OutOfMemory errors as the embedded database is held in memory.


How many users until I have to begin worrying about additional messaging servers?

We are running 5 machines and they run hot, usually high loads of 6-18… but then these are 5 old machines, 8+ years old. If you are running newish machines I would have at least 2 for redundancy.

I would recommend using an external database it gives you a little bit more flexablity. Also, all the settings are stored in the database. If you make a mistake that locks you out, you can easily go into the tables and revert the changes. For me that was the main point because I’m more familar with mysql and ms sql that the embedded one.