An increasing demand for geographic data imposes high query loads on data providers. Main players in the web (e.g. Facebook) use distributed memory caching systems such as Memcached to cache frequently accessed data in a key-value fashion. However, for spatial/geographic data as provided by OpenStreetMap for instance, the key-value paradigm is insufficient or at least unhandy, as many location-based services or applications require data which is located in certain ranges or regions.
How do service providers most commonly implement high scale access to spatial data with region query support?
(a) Is there any widely used distributed caching system similar to Memcached available, which supports region queries out of the box?
(b) Do application developers use standard key-value systems (such as Memcached) and manually remap query ranges to keys via space-filling curves or other spatial re-mapping techniques.
(c) Or can scalability be provided by a relational database with spatial extender which is extensively partitioned and replicated among several db instances.