GeoBalance is the adaptive workload-aware partitioning of spatiotemporal data that considers both data and query workload. This system addresses possible workload skew due to the existence of hotspots, time-varying skew, and load spikes. It is optimized for high velocity and multi-user write-intensive geospatial applications. An evolutionary algorithm was developed for GeoBalance to modify partitions in the presence of imbalance. GeoBalance employs rolling migration of partitions to avoid disrupting other services when partitions are changing.