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 и реляционных СУБД.
 - Конфигурация и расширяемость: гибкие параметры запуска и настройки поведения с возможностью интеграции в рабочие процессы сборки и тестирования.
 - Использование: широко применяется в тестировании, прототипировании, образовательных целях и небольших продуктах, где важны простота развертывания и минимальные требования к инфраструктуре.