Hacker News new | ask | show | jobs
by pron 5089 days ago
The spatial index is an R-tree variant that doesn't degrade and allows concurrent writes (multiples writers at a time, let alone readers). Readers don't block writers and don't use locks, while writers lock a small subset of the database for atomic transactions (one of the most common operations we need to support is a "move" of an object from one location to another - that has to be atomic).

For parallelization of queries and transactions we use fork-join.

1 comments

How do you do lock-free updates to the R-tree structure?
Most updates aren't lock-free.
I think what pron is saying is that initial writes are lock-free but updates to existing data will require locks in most cases?