СУБД H2: описание

Автор: | 20.06.2019

СУБД H2 — система управления реляционной БД, написанная на языке Java. Она может быть интегрирована в Java приложения или использоваться в режиме клиент-сервер. Занимает места на диске около 2 MB.
СУБД H2 лого
Данное программное обеспечение доступно как исходники с открытыми кодами под измененной версией Mozilla Public License или оригинального Eclipse Public License. Модификация MPL — это укороченный вариант названия вышеупомянутой лицензии.

Основные функции H2

Поддержка стандарта SQL (Структурированный Язык Запросов). Основное программное API — это SQL и JDBC, однако база данных также поддерживает использование драйвера ODBC PostgreSQL, взаимодействуя с сервером PostgreSQL.

Возможно применение двух методов оперирования с таблицами — в памяти и с таблицами расположенными на диске. Таблицы могут быть постоянными или временными. Типы индекса — хеш-таблица и дерево для таблиц в оперативной памяти, и b-дерево для расположенных на диске таблиц. Все операции манипулирования данными основываются на транзакциях. Возможно блокирование на уровне таблицы и мультиверсионный параллельный доступ к элементам управления. Поддержка протокола 2-х фазного подтверждения транзакций, но в стандартном API нет поддержки распределенных транзакций.

Также реализована возможность полнотекстового поиска данных. Эта функция реализована на одном из вариантов Lucene.

Достигнута весьма высокая отказоустойчивость: при использовании в режиме клиент-сервер, ядро базы данных поддерживает горячий перезапуск (известно как кластеризация). Однако, способ объединения в кластеры должен быть разрешен вручную после сбоя.

Консоль СУБД H2

Консоль СУБД H2

Начиная с версии 1.1.111, база данных H2 в оперативной памяти может выполниться внутри Google App Engine.

Безопасность H2

Права доступа к данным на уровне пользователей. Для шифрования пароля используется алгоритм SHA-256, для шифрования данных AES или Tiny Encryption Algorithm, XTEA. Функции шифрования реализованы на уровне базы данных. В режиме работы клиент-сервер доступно подключение по протоколу SSL / TLS, даже используя для доступа консоль.

База данных поддерживает защиту против SQL инъекций, используя параметризацию операторов. В H2 эта функция называется ‘отключение операторов’.

История развития H2

Работа над СУБД H2 стартовала в мае 2004-го, и первая версия вышла в свет 14 декабря следующего года. Ядро СУБД H2 написал Томас Мюллер (Thomas Müller), разработавший также ядро СУБД Hypersonic SQL. В 2001 году развитие Hypersonic SQL было остановлено, и была сформирована группа HSQLDB, чтобы продолжить работу над кодом Hypersonic SQL. Мюллер покинул проект, но в 2004 году решил создать еще одну СУБД на Java. Выбранное им название H2 отсылается на Hypersonic, как бы намекая на ее вторую версию, тем не менее в создании H2 не использовался код от Hypersonic SQL или HSQLDB — код H2 был создан с нуля. Последняя версия (на июнь 2019 года) — 1.4.199, была выпущена в марте 2019 года.

Страница H2 Database Engine: www.h2database.com

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *