O HSQLDB versão 2.0 possui três modos de controle de transação. Ele suporta níveis de isolamento comprometidos e serializáveis [esclarecer] com bloqueios de nível de tabela ou com controle de simultaneidade de múltiplas diversões (MVCC) ou uma combinação de bloqueios e MVCC. A versão 1.8.1 suporta o nível de isolamento de transação 0 (leia -se apenas não comprometido).
O HSQLDB possui dois tipos de tabela principal usados para armazenamento durável de dados de leitura de leitura, ou seja, se uma transação tiver sido comprometida com sucesso, é garantido que os dados sobreviverão à falha do sistema e manterão sua integridade.
O tipo de memória padrão armazena todos os dados alterações no disco na forma de um script SQL. Durante a inicialização do motor, esses comandos são executados e os dados são reconstruídos na memória.
Outro tipo de tabela é armazenado em cache, o que permite armazenar mais dados, ao custo do desempenho mais lento. O mecanismo HSQLDB os carrega apenas parcialmente e sincroniza os dados com o disco na transação. No entanto, o motor sempre carrega todas as linhas afetadas durante uma atualização na memória. Isso torna impossível as atualizações muito grandes sem dividir o trabalho em partes menores.
Outros tipos de tabela permitem o acesso a arquivos de valores separados por vírgula (CSV). Essas tabelas podem participar, por exemplo, em consultas com junções e simplificar o processamento da planilha e o armazenamento de dados na memória não durável.
O HSQLDB 2.0 suporta todos os principais recursos e muitos recursos opcionais do SQL: 2008. Os recursos avançados incluem procedimentos e funções SQL definidos pelo usuário, esquemas, intervalos de dados, visualizações atualizáveis, matrizes, lobs, junções completas e laterais e operações definidas. Muitas funções não padrão, como To_Char e Decody, também são suportadas. As extensões para o SQL padrão incluem funções agregadas definidas pelo usuário.
Várias versões do HSQLDB foram lançadas desde 2001. As versões iniciais foram baseadas no mecanismo descontinuado de banco de dados HiPersonicSQL. A versão 2.0, lançada em 2010, é principalmente um código novo, escrito para estar em conformidade com a especificação padrão SQL e JDBC 4.
A versão 2.3.2 (lançada em 2014) é totalmente multithread e suporta modelos de travamento bifásico de alto desempenho e MVCC (Controle de Concorrência de Multiverso).