Hacker News new | ask | show | jobs
by whargarbl 3370 days ago
"FaunaDB implements a process scheduler that dynamically allocates resources and enforces quality of service...Execution proceeds via cooperative multitasking."

Just like Windows 95! I don't think I've ever seen a database do this. Apparently it operates per-query or at least per application. Operating system seems right; this is a long paper.

3 comments

Presto does this as well. Execution is done by "drivers" which move data pages between operators. It's a cooperative push model rather than a Volcano (iterator) style pull model. There are typically more drivers than worker threads. Drivers are assigned to threads using multilevel feedback queues (inspired by OS schedulers).
SQL Server also uses its own scheduler inside ;)
Dynamic isolation sounds cool especially without the overhead of containers. Seems obvious in hindsight I guess.