Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

After looking around I'm still not sure what they mean by 'eliminating locking'. Locking isn't just overhead, it's needed for transactions- how are transactions handled if there is no locking? Does the speed come at the cost of dirty reads and writes?


VoltDB achieves concurrency via scheduling, rather than shared access to data structures.

There are concurrency primitives around networking/messaging and transaction scheduling, so there aren't truly ZERO locks in the system as a whole.

The big difference is that VoltDB has zero system-locks (mutexes,etc) around table data and indexes. It also has no logical locks/latches arounds indexes and rows like other systems. This makes executing SQL very fast. Because it doesn't wait on disk or on mutexes, SQL execution is typically bottlenecked on memory bandwidth.


I think they partition the data then serialize access in the partition. Makes things very fast assuming you only need to modify stuff atomically in one partition.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: