DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

VanillaDB


VanillaDB is a single node, multi-threaded relational database engine that partially supports the SQL-92 standard.

Source Code
https://github.com/vanilladb/vanillacore[02]
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

Database Entry

VanillaDB


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


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.

Data Model


Isolation Levels


VanillaDB supports transactions at different isolation levels concurrently.

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.

Citations

3 sources
  1. VanillaDB - Simple, fast, and extensible database system prototypes vanilladb.org
  2. GitHub - vanilladb/vanillacore: The core engine of VanillaDB · GitHub github.com
  3. Transaction Management vanilladb.org
Revision #3 Last Updated: