PumpkinDB — это программная система управления базами данных, реализующая иммутабельную упорядоченную структуру ключ‑значение с упором на практики event sourcing и историю изменений. Система сочетает хранение неизменяемых записей с возможностью упорядоченного доступа по ключам и поддержкой версионирования, что делает её пригодной для аудита, восстановления состояний и детерминистического воспроизведения последовательностей изменений. PumpkinDB разрабатывается как лёгкий и предсказуемый движок для приложений, которым требуется явная история трансформаций данных и детальная запись событий доменной логики.
В основе архитектуры лежит журнал неизменяемых записей, в который последовательно добавляются события или транзакции; чтение осуществляется путём применения этих событий или выборки значений на заданных версиях. Для удобства разработчиков в систему встроен императивный язык запросов, называемый PumpkinScript, предназначенный для описания трансформаций, фильтрации событий и агрегирования данных на стороне хранилища. Документация и реализация PumpkinDB ориентированы на сценарии, где важны детерминированность, одновременная обработка событий и возможность репликации состояний между инстансами.
- Иммутабельность: все записи в хранилище являются неизменяемыми, что упрощает аудит и откат к любым предыдущим состояниям.
 - Упорядоченное ключ‑значение: поддержка сортировки по ключам и эффективные диапазонные запросы.
 - Event sourcing: первичная модель данных основана на журнале событий, которые могут быть воспроизведены для восстановления состояния агрегатов.
 - PumpkinScript: встроенный императивный язык запросов для описания серверных трансформаций, вычисляемых полей и агрегаций.
 - Версионирование: хранение историй изменений и возможность чтения данных на конкретной версии или временной точке.
 - Репликация и консистентность: механизмы для репликации журналов событий между узлами и детерминированного синхронизированного воспроизведения.
 - Аудит и трассируемость: полная прослеживаемость изменений благодаря неизменяемому журналу и метаданным событий.
 - Интеграция с приложениями: API для записи событий, подписки на события и выполнения PumpkinScript-скриптов в контексте хранилища.
 - Оптимизация чтения: механизмы создания снимков (snapshots) и индексирования для ускорения восстановления состояния и доступа по ключам.
 - Типичные сценарии использования: системы учёта и аудита, финансовые приложения, системы событийной интеграции и CQRS‑архитектуры.