H2 Database Engine

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: h2database.com

H2 Database Engine — легковесная реляционная система управления базами данных, реализованная на языке Java и предназначенная для встраиваемого и клиент‑серверного использования. Проект сочетает в себе возможности для работы в памяти и на диске, реализацию SQL и драйвер JDBC, что делает его удобным для разработки, тестирования и развёртывания приложений различного масштаба. H2 поддерживает традиционные реляционные понятия: транзакции, индексы, целостность данных и стандартные типы SQL.

Архитектурно H2 реализуется как библиотека для встроенного использования в приложениях и как отдельный серверный процесс, к которому клиенты подключаются по сетевому протоколу. Система оптимизирована для низкой задержки и небольшого объёма занимаемого кода при типичных операциях с малым и средним объёмом данных. В состав поставки обычно входит консоль на основе веб‑интерфейса для выполнения запросов и административных операций.

  • Режимы работы: встроенный (embedded) и клиент‑серверный, с возможностью запуска в памяти (in‑memory) или на диске (disk‑based).
  • Совместимость с SQL и JDBC: поддержка SQL‑92/SQL‑99 в объёме, достаточном для большинства приложений, и драйвер JDBC для интеграции с Java‑приложениями.
  • Транзакции и согласованность: атомарные транзакции с поддержкой ACID в пределах возможностей выбранного режима хранения и конфигурации.
  • Производительность и масштаб: оптимизирован для низкой задержки при небольших и средних нагрузках; может использоваться в проектах с требованием к быстрому разворачиванию и тестированию.
  • Хранение данных: поддержка in‑memory баз для временных или тестовых задач и disk‑based файловых баз для долговременного хранения.
  • Шифрование и безопасность: встроенные механизмы шифрования файлов баз данных и базовая аутентификация для сетевых подключений.
  • Веб‑консоль: лёгкий веб‑интерфейс для выполнения SQL, просмотра схемы и администрирования базы данных.
  • Миграция и совместимость: возможности экспорта/импорта данных и совместимость с форматами, распространёнными в экосистеме Java и реляционных СУБД.
  • Конфигурация и расширяемость: гибкие параметры запуска и настройки поведения с возможностью интеграции в рабочие процессы сборки и тестирования.
  • Использование: широко применяется в тестировании, прототипировании, образовательных целях и небольших продуктах, где важны простота развертывания и минимальные требования к инфраструктуре.
Подробнее