I've been working on a geospatial application, and one of the use cases was finding intersections between large sets of polygons. For some use cases you might not need a separate data store like this.
I used an in-memory RTree in Golang [0]. It's super fast and efficient.