An immutable ordered key-value database engine with an embedded Forth-inspired scripting language for event sourcing and specialized data architectures.
PumpkinDB is an immutable ordered key-value database engine that serves as a database programming environment. It features an embedded Forth-inspired language called PumpkinScript, allowing applications to send scripts for execution directly within the database. It is designed to support event sourcing and specialized data architectures by ensuring data immutability and processing data close to storage.
Developers and architects building systems that require immutable data stores, event sourcing, or specialized database engines where logic needs to run close to the data. It is particularly suited for those implementing lazy event sourcing or domain-specific databases.
Developers choose PumpkinDB for its unique combination of immutable storage, ACID transactions, and an embedded scripting language that reduces communication overhead. Its design philosophy prioritizes data preservation and temporal integrity, making it a robust foundation for reliable and flexible data architectures.
Immutable Ordered Key-Value Database Engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Once a key's value is set, it cannot be overwritten, enforcing a temporal perspective and preventing accidental data loss, which is ideal for audit trails and event sourcing.
Ensures reliable and consistent operations even in concurrent scenarios, providing strong safety guarantees for critical data workflows.
PumpkinScript allows complex data processing and logic to run directly within the database, reducing network latency and enabling custom, storage-close computations.
Supports binary keys and values, permitting any encoding like JSON, XML, or Protobuf, which maximizes compatibility with diverse application needs.
The project is described as 'between alpha and beta' in the README, making it potentially unstable and less suitable for production-critical deployments.
Client libraries are only available for Rust (early release) and Java (pre-release), restricting adoption in environments using other programming languages.
PumpkinScript is a Forth-inspired stack-based language, requiring developers to learn a non-standard syntax and paradigm, increasing the onboarding effort.