Как лучше хранить GPS-треки в БД?
PostgreSQL + PostGis. Хранить в виде обычных координат желаемой точности. Возможно выборка любой сложности.
Сейчас у меня база координат занимает более 70гб, выборка координат внутри желаемого полигона занимает примерно 6мс на обычном hdd.
При желании можно треки запихать в виде multiline из которого потом легко вытащить отдельные точки
P.S. связку PostgreSQL + PostGis использует OSM, где база планеты в распакованном виде легко переваливает за 500гб
Правильным будет не хранить треки в БД. Сначала ответьте на вопрос (не здесь, а для себя), зачем это нужно. Часто достаточно загружать треки в gpx куда-нибудь на сервер — например, на амазон. А в базе хранить индексы: например, предельно упрощённый LineString, точки начала и конца, какие-то важные вехи, по которым будут запросы. Другими словами, отдельно блобы gpx (в амазоне, в append-only kv-базе и т.п.), отдельно метаданные для потенциально сложных запросов. Геоданные, конечно, лучше хранить в PostGIS, как Fixid ответил.