HSQLDB ( H yper SQL D ata b ase ) - это система управления реляционными базами данных, написанная на Java . Он имеет драйвер JDBC и поддерживает большое количество стандартов SQL-92 , SQL: 2008 , SQL: 2011 и SQL: 2016 . [2] Он предлагает быстрый, [3] небольшой (около 1300 килобайт в версии 2.2) механизм базы данных, который предлагает таблицы как в памяти, так и на диске. Доступны как встроенный, так и серверный режимы.
Первый выпуск | 2001 |
---|---|
Стабильный выпуск | 2.6.0 / 21 марта 2021 г . |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Размер | 10,8 МБ (файл 2.6.0 ZIP) [1] |
Тип | СУБД |
Лицензия | BSD |
Веб-сайт | HSQLDB |
Кроме того, он включает в себя такие инструменты, как минимальный веб-сервер , командную строку и инструменты управления графическим интерфейсом пользователя (можно запускать как апплеты), а также ряд демонстрационных примеров. Он может работать в среде выполнения Java начиная с версии 1.1, включая бесплатные реализации Java, такие как Kaffe .
HSQLDB доступен по лицензии BSD . Он используется в качестве базы данных и механизма сохранения состояния во многих проектах программного обеспечения с открытым исходным кодом, таких как OpenOffice Base , LibreOffice Base и клиент Jitsi VoIP и видеоконференцсвязи, начиная с версии 2.6. [4] Он также используется в коммерческих продуктах, таких как Mathematica и InstallAnywhere (начиная с версии 8.0). [5]
Сопровождение сделки
HSQLDB версии 2.0 имеет три режима управления транзакциями. Он поддерживает уровни изоляции с подтвержденным чтением и сериализуемые уровни изоляции [ пояснить ] с блокировками на уровне таблицы или с контролем одновременного выполнения нескольких версий (MVCC), или комбинацией блокировок и MVCC. версия 1.8.1 поддерживает только уровень изоляции транзакции 0 (чтение незафиксировано). [6]
Хранилище данных
HSQLDB имеет два основных типа таблиц, используемых для длительного хранения данных для чтения и записи, то есть, если транзакция была успешно зафиксирована, гарантируется, что данные переживут сбой системы и сохранят свою целостность.
Тип MEMORY по умолчанию сохраняет все изменения данных на диске в форме сценария SQL . Во время запуска двигателя эти команды выполняются, и данные восстанавливаются в памяти.
Другой тип таблиц - CACHED, который позволяет хранить больше данных за счет более низкой производительности. Механизм HSQLDB загружает их только частично и синхронизирует данные с диском при фиксации транзакции. Однако движок всегда загружает все строки, затронутые во время обновления, в память. Это делает невозможными очень большие обновления без разделения работы на более мелкие части. [7]
Другие типы таблиц позволяют получить доступ к файлам со значениями, разделенными запятыми (CSV). Эти таблицы могут участвовать, например, в запросах с JOIN и упростить обработку электронных таблиц и недолговечное хранение данных в памяти для чтения и записи.
Возможности SQL
HSQLDB 2.0 поддерживает все основные функции и многие дополнительные функции SQL: 2008 . Расширенные функции включают определяемые пользователем процедуры и функции SQL, схемы, интервалы времени, обновляемые представления, массивы, лобовые части, полные и боковые соединения и операции над наборами . Также поддерживаются многие нестандартные функции, такие как TO_CHAR и DECODE. Расширения стандартного SQL включают определяемые пользователем агрегатные функции .
Релизы
С 2001 года было выпущено несколько версий HSQLDB. Ранние версии основывались на снятом с производства ядре базы данных HypersonicSQL. Версия 2.0, выпущенная в 2010 году, в основном представляет собой новый код, написанный в соответствии со спецификацией Standard SQL и JDBC 4. [8]
Версия 2.3.2 (выпущенная в 2014 г.) является полностью многопоточной и поддерживает модели управления транзакциями с высокопроизводительной двухфазной блокировкой и MVCC (мультиверсионное управление параллелизмом) .
Смотрите также
Рекомендации
- ^ "Домашняя страница / hsqldb / hsqldb_2_6" . Ядро СУБД HyperSQL (HSQLDB) . SourceForge. 21 марта 2021 . Проверено 1 апреля 2021 года .
- ^ «Синтаксис HSQLDB SQL» . hsqldb.org.
- ^ «Сравнение производительности PolePosition» . polepos.org.
- ^ «Примечания к выпуску Jitsi build 5390» . Jitsi.org . Проверено 1 февраля 2015 .
- ^ «Программное обеспечение с использованием HSQLDB» . hsqldb.org.
- ^ «Документация HSQLDB» . hsqldb.org.
- ^ «Документация HSQLDB» . hsqldb.org. Архивировано из оригинала на 2015-05-02 . Проверено 11 ноября 2007 .
- ^ «Новый HSQLDB» . hsqldb.org.
Внешние ссылки
- Официальный веб-сайт