Я бы использовал PostGIS (http://postgis.refractions.net/) для типа геометрии и создал бы такую таблицу:
CREATE TABLE data (
geometry geometry,
valid_from timestamp,
valid_till timestamp,
check(valid_till >= valid_from)
);
PostGIS может выполнять пространственные запросы, поэтому вы можете запрашивать базу данных для всех геометрий вконкретная геометрия (например, запрос для всех геометрий в геометрии, представляющей штат или округ).
Чтобы получить период действия, вы должны добавить к этому запросу дополнительное условие для получения только тех строк, где (valid_from >= now() and valid_till <= now())
.
Вам также понадобятся индексы по всем трем столбцам. В столбце геометрии должен быть пространственный индекс.
Всю информацию о пространственных запросах, типе геометрии и геометрических индексах вы можетенайти на сайте PostGIS.