Описание тега hsqldb
HSQLDB (HyperSQL Database) - это система управления реляционными базами данных.
HSQLDB может использоваться внутри процессов Java-приложений для обслуживания локальных баз данных. HSQLDB также включает в себя сервер базы данных, который обеспечивает доступ по сети.
Каждый экземпляр HSQLDB может обслуживать несколько баз данных. Каждая база данных может содержать несколько схем. Базы данных могут быть полностью в памяти (mem: url) или сохраняться на диске (file: url). Постоянные базы данных могут использовать сочетание таблиц, которые всегда хранятся в памяти (таблицы MEMORY), и таблиц, которые кэшируются только в памяти (CACHED таблицы), которые могут увеличиваться до многих гигабайт и выходить за пределы доступной памяти.
HSQLDB работает очень быстро, особенно когда используется в памяти или когда база данных относительно мала.
HSQLDB поддерживает очень обширное подмножество стандарта ISO Standard SQL:2011. Он также имеет режимы совместимости синтаксиса SQL, которые упрощают перенос приложений, написанных для другого механизма базы данных.
HSQLDB поддерживает определяемые пользователем хранимые процедуры, функции, агрегатные функции и триггеры. Они могут быть написаны на Java или на процедурном языке SQL (PSM). Он также имеет обширный список встроенных функций.
HSQLDB является полностью многопоточным. Он может работать в трех различных моделях транзакций: модели двухфазной блокировки (TPL), модели управления параллелизмом нескольких версий (MVCC) и смешанной пессимистической модели нескольких версий с изоляцией моментальных снимков. В каждой модели транзакция может выполняться на уровне изоляции с подтвержденным чтением или сериализуемом уровне изоляции.
HSQLDB существует с 2001 года и поддерживается многими фреймворками и инструментами Java.