A cache framework for geographical feature store

The performance of data access plays an important role in Geographical Information System (GIS) applications, especially for data I/O intensive applications, such as public web service. In order to get high performance for the data access, we proposed a cache framework, where vector data are stored in distributed main memories. We will describe our framework on system level and functional level. On system level, we employ Master-Slave model to be the basic architecture of our cache system and take “read-your-write” consistency as our consistency base line. On functional level, there are three key characteristics in our framework: first, we put all the vector data into distributed memories instead of disks and take the geographical feature as basic storage unit; second, we employ the Geohash algorithm as distributed spatial index. Third, we take asynchronous, scheduled total data persistency, which help us to rebuild the cache. Compared with traditional spatial database, we bring down the Atomicity, Consistency, Isolation and Durability (ACID) demands to get high performance. Topological relationships are not ensured either here. Redis, an open-source Key/Value store project, is employed to be the base of our framework. In the experiment we carried out, the data access performance is significantly speeded up.