Apache Derby

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

Сайт: db.apache.org/derby

Apache Derby — это легковесная реляционная система управления базами данных, реализованная полностью на языке Java. Разработанная как встраиваемая СУБД, она предоставляет стандартный SQL-интерфейс и механизмы транзакционной обработки, позволяя приложениям работать с локальными базами данных без необходимости отдельного серверного процесса. Архитектура Derby ориентирована на простоту интеграции в Java-приложения, совместимость с JDBC и минимальные требования к окружению.

Проект развивался в рамках открытого программного обеспечения и используется в сценариях, где важны небольшие размеры, простота развертывания и переносимость между платформами, поддерживающими виртуальную машину Java. Derby поддерживает как режим встраивания в тот же процесс, что и клиентское приложение, так и клиент-серверную работу через сетевой сервер, реализованный поверх той же кодовой базы. В проекте реализованы стандартные механизмы управления транзакциями, блокировками и восстановления после сбоев.

  • Реализация на Java: полностью написана на языке Java, что обеспечивает кроссплатформенность и простоту интеграции в Java-приложения.
  • Поддержка SQL и JDBC: реализует стандарт SQL и предоставляет интерфейсы JDBC для выполнения запросов и управления соединениями.
  • Встраиваемый режим: позволяет запускать базу данных в том же процессе, что и приложение, без отдельного сервера.
  • Клиент-серверный режим: включает сетевой сервер для удалённого доступа к базе данных при необходимости.
  • Транзакции и надежность: поддерживает атомарные транзакции, журналирование и механизмы восстановления для обеспечения согласованности данных.
  • Небольшой размер: компактная кодовая база и малые требования к ресурсам, что делает её удобной для встраиваемых и десктопных приложений.
  • Управление схемой и данными: включает возможности создания таблиц, индексов, представлений и выполнения типичных операций DML/DDL.
  • Расширяемость: допускает использование пользовательских функций и интеграцию с приложениями на Java через встроенные механизмы.
  • Поддержка безопасности: базовая модель аутентификации и контроля доступа, достаточная для многих локальных и небольших распределённых конфигураций.
  • Применение: часто используется в образовательных проектах, для прототипирования, в настольных приложениях и встраиваемых системах, где важны простота и автономность хранения данных.
Подробнее