HSQLDB - HSQLDB

HSQLDB (HyperSQL DataBase)
Hsql.png
HSQL Database Manager
lançamento inicial 2001 ; 20 anos atras  ( 2001 )
Versão estável
2.6.0 / 21 de março de 2021 ; 22 dias atrás  ( 21 de março de 2021 )
Escrito em Java
Sistema operacional Plataforma cruzada
Tamanho 10,8 MB (arquivo ZIP 2.6.0)
Modelo RDBMS
Licença BSD
Local na rede Internet hsqldb .org  Edite isso no Wikidata

HSQLDB ( H Yper SQL D ATA b ase ) é um sistema de gestão de base de dados relacional escrito em Java . Ele tem um driver JDBC e oferece suporte a um grande subconjunto dos padrões SQL-92 , SQL: 2008 , SQL: 2011 e SQL: 2016 . Ele oferece um mecanismo de banco de dados rápido e pequeno (cerca de 1300 kilobytes na versão 2.2) que oferece tabelas em memória e baseadas em disco. Os modos incorporado e de servidor estão disponíveis.

Além disso, inclui ferramentas como um servidor Web mínimo , linha de comando e ferramentas de gerenciamento de GUI (podem ser executados como miniaplicativos) e vários exemplos de demonstração. Ele pode ser executado em tempos de execução Java da versão 1.1 em diante, incluindo implementações Java gratuitas , como Kaffe .

HSQLDB está disponível sob uma licença BSD . É usado como banco de dados e mecanismo de persistência em muitos projetos de software de código aberto, como o OpenOffice Base , o LibreOffice Base e o Jitsi VoIP e cliente de videoconferência desde a versão 2.6. Ele também é usado em produtos comerciais, como Mathematica e InstallAnywhere (a partir da versão 8.0).

Suporte de transação

HSQLDB versão 2.0 tem três modos de controle de transação. Ele oferece suporte para leitura confirmada e níveis de isolamento serializáveis com bloqueios de nível de tabela ou com controle de simultaneidade multiversão (MVCC), ou uma combinação de bloqueios e MVCC. a versão 1.8.1 suporta o nível de isolamento 0 da transação (leitura não confirmada) apenas.

Armazenamento de dados

HSQLDB tem dois tipos de tabelas principais usados ​​para armazenamento de dados de leitura e gravação durável, ou seja, se uma transação foi confirmada com sucesso, é garantido que os dados sobreviverão a falhas do sistema e manterão sua integridade.

O tipo de MEMÓRIA padrão armazena todas as alterações de dados 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 é CACHED, que permite armazenar mais dados, ao custo de um desempenho mais lento. O mecanismo HSQLDB os carrega apenas parcialmente e sincroniza os dados para o disco em confirmações de transação. No entanto, o mecanismo sempre carrega todas as linhas afetadas durante uma atualização na memória. Isso torna impossíveis atualizações muito grandes sem dividir o trabalho em partes menores.

Outros tipos de tabela permitem acesso a arquivos de valores separados por vírgula (CSV). Essas tabelas podem participar, por exemplo, de consultas com JOINs e simplificar o processamento de planilhas e o armazenamento de dados na memória não duráveis ​​de leitura e gravação.

Recursos SQL

HSQLDB 2.0 oferece suporte a todos os recursos principais e muitos recursos opcionais do SQL: 2008 . Os recursos avançados incluem procedimentos e funções SQL definidos pelo usuário, esquemas, intervalos de data e hora, visualizações atualizáveis, arrays, lobs, junções completas e laterais e operações de conjunto . Muitas funções não padrão, como TO_CHAR e DECODE, 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 primeiras versões eram baseadas no mecanismo de banco de dados HypersonicSQL descontinuado. A versão 2.0, lançada em 2010, é principalmente um código novo, escrito em conformidade com o SQL padrão e a especificação JDBC 4.

A versão 2.3.2 (lançada em 2014) é totalmente multiencadeada e oferece suporte a modelos de controle de transação de bloqueio de duas fases de alto desempenho e MVCC (controle de simultaneidade multiversão) .

Veja também

Referências

links externos