HSQLDB – свободная реляционная СУБД с открытым исходным кодом. Распространяется по собственной лицензии, близкой к лицензии Berkeley Software Distribution License. Поддерживает стандарты SQL-92, SQL:1999, SQL:2003 и SQL:2008.
HSQLDB полностью написана на Java и отличается небольшим размером (размер около 1100 Кб для версии 2.0). Может использоваться и как отдельный сервер с поддержкой сетевых соединений по JDBC, и в виде библиотеки для использования непосредственно в коде программы.
HSQLDB используется во многих известных программных продуктах, в частности, в LibreOffice, Apache OpenOffice, WildFly, Openfire, JAMWiki.
HSQLDB версии 2.0 имеет три режима управления транзакциями. HSQLDB поддерживает чтение зафиксированных данных и сериализуемых уровней изоляций или с конкурентным доступом с помощью многоверсионности (MVCC), или сочетание блокировок и MVCC. Версия 1.8.1 поддерживает только уровень 0 изоляции транзакций (read uncommitted).
HSQLDB 2.0 поддерживает все основные функции и 148 дополнительных функций из стандарта SQL:2008. Расширенные функции включают определяемые пользователем SQL процедуры и функции, схемы, DateTime интервалы, обновляемые представления, массивы, большие объекты, полные и боковые join’ы, операции со множествами. Многие нестандартные функции, такие как TO_CHAR и DECODE, также поддерживаются. Расширения Standard SQL включают определяемые пользователем агрегирующие функции.
Начиная с 2001 года было выпущено несколько версий HSQLDB. Ранние версии были основаны на движке СУБД HypersonicSQL. Наиболее свежей версией является версия 2.2.9, вышедшая в августе 2012 года и разработанная в соответствии со спецификациями SQL и JDBC 4.
Ссылки