HSQLDB (HyperSQL Database)

hsqldb.org ↗

A Java SQL database that can run in your application or as a separate server.

SI Score
80/100
Pricing
Free AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about HSQLDB (HyperSQL Database)

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the HSQLDB (HyperSQL Database) homepage

What it does

HSQLDB, also called HyperSQL Database, is a Java relational database engine with in-memory and file-backed catalogs, embedded and server modes, and JDBC access. The included SQL tools can connect to a catalog for interactive creation, edits, and queries. Its homepage reports SQL:2023 support and lists version 2.7.4, dated October 2024, as the latest release shown there.

HSQLDB lets a Java application choose where its database lives. A mem: catalog disappears with the Java process, while a file: catalog keeps database files on disk. The user guide also describes a server mode for clients that need to connect separately. Those are different operating patterns, not hosted service tiers.

A small JDBC exercise

For a first check, use an isolated file catalog and a simple table. The following SQL illustrates a minimal create, insert, and select workflow:

CREATE TABLE inventory (id INTEGER PRIMARY KEY, item VARCHAR(80));
INSERT INTO inventory VALUES (1, 'sensor');
SELECT item FROM inventory WHERE id = 1;

The query should return the row for sensor. The bundled DatabaseManagerSwing or SqlTool can be used to create a database, change data, and run queries, or an application can connect through JDBC. The guide cautions that a writable file catalog opened in-process cannot be shared by multiple Java processes; use server mode when separate clients need the same database. It also documents that a new catalog may be created when a path is misspelled, so verify the location before connecting to important data.

For a server deployment, configure access controls and change the default system user's empty password before exposing the listener. Shut down cleanly before copying database files. The homepage also describes optional SupportWare subscriptions, separate from the database engine's free-to-use license.

Strengths

  • Offers in-memory, persistent file, and read-only resource catalogs, with both in-process and server deployment modes.
  • Includes a JDBC driver, a Swing database manager, and a command-line SQL tool.
  • Supports standard SQL features and documents transaction-control choices including MVCC.

Watch out for

  • A writable file catalog opened in-process is limited to one Java process; shared access requires a server setup.
  • The guide calls for security configuration on server deployments, including changing the default system-user password.
  • The homepage's latest release information shown is dated October 2024, so verify whether a newer build is available before adopting it.

Best for

  • Java applications that need a compact embedded relational database or a separate JDBC-accessible server
  • Development and tests that need a choice between transient in-memory data and file persistence

Sources