HSQLDB Limitations

Last modified by Eleni Cojocariu on 2026/07/13 22:38

Explanation

Warning

WIP

HSQLDB is a relational database written in Java. XWiki can use it as an embedded or remote database.

This database operates in two modes:

  • Embedded: The database runs inside the same JVM as XWiki. No separate server process is needed. Configuration is simple because the database requires no installation or startup before use. 
  • Remote server: A standalone HSQLDB server process runs independently. XWiki connects to it over the network.

For production environments, consider the following limitations:

  • Memory usage: HSQLDB stores the full database in memory. A wiki with 9 subwikis default XWiki pages requires approximately 110MB of memory.
  • Persistance: Data is written to disk periodically, but in-memory storage means that insufficient heap size directly impact stability.
  • Operational tooling: HSQLDB lacks built-in backup, replication and administration tools comparable to production-oriented databases.

For production deployments, consider using MySQL, MariaDB, or PostgreSQL.

FAQ

How much memory should I allocate when using HSQLDB?

When using HSQLDB, allocate a Java heap of at least 512 MB. Smaller heap sizes may lead to OutOfMemoryError exceptions during memory-intensive operations, such as exporting wiki content.

Does HSQLDB provide backup, replication, and administration tools?

No. HSQLDB does not provide the same built-in backup, live replication, and administration capabilities as production-oriented database systems. If you plan to use HSQLDB in production, make sure you have an appropriate strategy for backups, replication, and database administration.

Get Connected