VanillaDB is a single node, multi-threaded relational database engine that partially supports the SQL-92 standard.
- Website
- http://www.vanilladb.org[01]
- Source Code
- https://github.com/vanilladb/vanillacore[02]
- Developer
- Country of Origin
- TW
- Start Year
- 2016
- Project Types
- Academic, Open Source
- Written in
- Java
- Operating System
- All OS with Java VM
- License
- Apache v2
VanillaDB is a single node, multi-threaded relational database engine that partially supports the SQL-92 standard.
Checkpoints[03]
VanillaDB supports non-quiescent checkpointing, which means it stops accepting new transactions but still allows current running transactions to continue when checkpointing. The checkpointing will be done periodically active transactions will be saved in the log.
Concurrency Control[04]
VanillaDB implements strict two-phase locking protocol in multiple granularities: file, block and record. And vanillaDB supports time-limit deadlock detection, which means transactions have to rollback when they wait a lock for too long.
Logging[03]
VanillaDB implements write ahead logging (WAL) under No-Force/Steal buffering policy, and VanillaDB supports value-level log granularity. Meanwhile, VanillaDB implements ARIES recovery algorithm.
Storage Architecture[06]
VanillaDB is a disk-oriented database, and each transactions maintain its own buffer manager in memory
Citations
6 sources- VanillaDB - Simple, fast, and extensible database system prototypes vanilladb.org
- GitHub - vanilladb/vanillacore: The core engine of VanillaDB · GitHub github.com
- Transaction Management vanilladb.org
- Transaction Management vanilladb.org
- Indexing vanilladb.org
- Memory Management vanilladb.org