HSQLDB - HSQLDB
lançamento inicial | 2001 |
---|---|
Versão estável | 2.6.0 / 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 |
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
- Lista de sistemas de gerenciamento de banco de dados relacional
- Comparação de sistemas de gerenciamento de banco de dados relacional
- H2 (DBMS)
- Apache Derby