HSQLDB

Content

Suporte à transação

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).

Armazenamento de dados

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.

Recursos SQL

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.

Lançamentos

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).

Veja também

Free and open-source software portal
List of relational database management systemsComparison of relational database management systemsApache DerbyH2