HSQL Менеджер базы данных | |
Первоначальный выпуск | 2001; 19 лет назад (2001 г.) |
---|---|
Стабильный выпуск | 2.5.2 / 29 июня 2020 г.; 3 месяца назад (2020-06-29) |
Написано на | Java |
Операционная система | Кросс-платформенная |
Размер | 8,1 МБ (файл 2.5.0 ZIP) |
Тип | СУБД |
Лицензия | BSD |
Веб-сайт | hsqldb.org |
HSQLDB (Hyper SQL Data b ase) - это система управления реляционными базами данных, написанная на Java. Он имеет драйвер JDBC и поддерживает большое подмножество SQL-92, SQL: 2008, SQL: 2011, и стандарты SQL: 2016. Он предлагает быстрое, маленькое (около 1300 килобайт в версии 2.2) ядро базы данных, которое предлагает как в памяти, так и дисковые таблицы. Доступны как встроенный, так и серверный режимы.
Кроме того, он включает в себя такие инструменты, как минимальный веб-сервер, инструменты управления с помощью командной строки и графического интерфейса (можно запускать как апплеты), а также ряд демонстрационных примеров. Он может работать в среде выполнения Java начиная с версии 1.1 и выше, включая бесплатные реализации Java, такие как Kaffe.
HSQLDB доступен по лицензии BSD. Он используется в качестве базы данных и механизма сохранения состояния во многих программных проектах с открытым исходным кодом, таких как OpenOffice Base, LibreOffice Base и Jitsi Клиент VoIP и видеоконференцсвязи с версии 2.6. Он также используется в коммерческих продуктах, таких как Mathematica и InstallAnywhere (начиная с версии 8.0).
HSQLDB версии 2.0 имеет три режима управления транзакциями. Он поддерживает уровни изоляции с подтвержденным чтением и сериализуемые уровни изоляции с блокировками на уровне таблицы или с мультиверсионным управлением параллелизмом (MVCC), или комбинацией блокировок и MVCC. версия 1.8.1 поддерживает только изоляцию транзакций уровень 0 (чтение не зафиксировано).
HSQLDB имеет два основных типа таблиц, используемых для надежного хранения данных чтения-записи, то есть, если транзакция была успешно зафиксирована, гарантируется, что данные переживут сбой системы и сохранят свою целостность.
Тип MEMORY по умолчанию сохраняет все изменения данных на диске в форме SQL скрипта. Во время запуска двигателя эти команды выполняются, и данные восстанавливаются в памяти.
Другой тип таблиц - CACHED, который позволяет хранить больше данных за счет более низкой производительности. Механизм HSQLDB загружает их только частично и синхронизирует данные с диском при фиксации транзакции. Однако движок всегда загружает в память все затронутые во время обновления строки. Это делает невозможными очень большие обновления без разделения работы на более мелкие части.
Другие типы таблиц разрешают доступ к файлам со значениями, разделенными запятыми, (CSV). Эти таблицы могут участвовать, например, в запросах с JOIN и упростить обработку электронных таблиц и непродолжительное хранение данных в памяти для чтения и записи.
HSQLDB 2.0 поддерживает все основные функции и многие дополнительные функции SQL: 2008. Расширенные функции включают определяемые пользователем процедуры и функции SQL, схемы, интервалы времени, обновляемые представления, массивы, лобовые части, полные и боковые соединения и операции с наборами. Также поддерживаются многие нестандартные функции, такие как TO_CHAR и DECODE. Расширения к стандартному SQL включают определяемые пользователем агрегатные функции.
С 2001 года было выпущено несколько версий HSQLDB. Ранние версии были основаны на прекращенном движке базы данных HypersonicSQL. Версия 2.0, выпущенная в 2010 году, в основном представляет собой новый код, написанный в соответствии со спецификацией Standard SQL и JDBC 4.
Версия 2.3.2 (выпущена в 2014 году) является полностью многопоточным и поддерживает высокопроизводительные модели управления транзакциями двухфазную блокировку и MVCC (управление многовариантным параллелизмом).