Lindorm GanosBase is a spatio-temporal data engine built natively on LindormTable, the Lindorm wide table engine. It extends LindormTable with spatial data types, spatio-temporal indexes, and PostGIS-compatible functions, letting you store, query, and analyze large-scale trajectory data at the throughput and cost profile of a distributed wide table store.
If your application processes trajectory data from Internet of Vehicles (IoV), Internet of Things (IoT), logistics, autonomous driving, travelling, navigation, or geographic information system (GIS) workloads, GanosBase is designed for that scale.
When to use GanosBase
GanosBase fits your needs when:
Your application performs spatio-temporal range queries — for example, finding every vehicle that passed through a given area within the last hour.
You need real-time geofencing to detect when an object enters or leaves a defined boundary.
You run location-based services such as searching for points of interest within a radius.
You have large volumes of historical trajectory data and need to compress and archive it cost-effectively.
Your existing app uses PostGIS, GeoMesa, MongoDB, or Redis spatial features and you want to migrate to a distributed, scalable backend.
How it works
A spatio-temporal database is defined by three capabilities. GanosBase adds all three to LindormTable:
Spatial data types — standard geometry objects including points, LineStrings, and polygons.
Spatio-temporal indexes — Z-ORDER indexes that map multi-dimensional coordinates (space, or space + time) to a one-dimensional key, enabling efficient range scans without storing redundant replicas.
Spatio-temporal functions — a PostGIS-compatible function library covering access, spatial relationships, data processing, and measurement.
GanosBase exposes these capabilities through three interfaces. Choose the one that matches your existing stack.
Supported interfaces
| Interface | Entry point | Best for | Performance |
|---|---|---|---|
| GanosBase SQL | Standard SQL | Apps built on PostGIS, GeoMesa, MongoDB, or Redis spatial features | Superior to open source GeoMesa (query rewrite, parallel queries, shards, and optimized spatial approximation algorithms) |
| GanosBase GeoMesa | GeoTools APIs or ECQL | Apps built on open source GeoMesa | Superior to open source GeoMesa and HBase |
| GanosBase for streaming engines | Standard Flink SQL | Flink or Spark streaming pipelines | Excellent query performance via in-memory indexes and parallel queries |
GanosBase SQL
GanosBase SQL exposes spatio-temporal capabilities through standard SQL, covering the data processing features of GeoMesa, MongoDB, and Redis in a single interface.
Spatial data types
Points, LineStrings, and polygons — standard OGC geometry objects. See Spatial data types.
SQL syntax
Use standard DDL and DML statements to work with spatio-temporal tables:
Create a table: CREATE TABLE
Insert or update data: UPSERT
Query data: SELECT
For the full syntax reference, see DDL and DML.
Spatio-temporal functions
GanosBase SQL includes PostGIS-compatible functions across four categories:
| Category | Example functions |
|---|---|
| Access | ST_X |
| Spatial relationships | ST_Contains, ST_Intersects |
| Data processing | ST_Buffer |
| Measurement | ST_Length |
For the full function reference, see Overview.
Spatio-temporal indexes
GanosBase SQL uses Z-ORDER indexes, which encode spatial or spatio-temporal coordinates as a one-dimensional key. This supports efficient range scans on spatial-only or spatial + time conditions without storing a redundant data replica.
Use a primary key index when the primary lookup pattern is spatial or spatio-temporal:
-- Spatial range queries only
CREATE TABLE gtest(id INT, g GEOMETRY(POINT), name VARCHAR, PRIMARY KEY(Z-ORDER(g),id));
-- Spatial and time range queries
CREATE TABLE gtest(id INT, g GEOMETRY(POINT), name VARCHAR, t LONG, PRIMARY KEY(Z-ORDER(g,t),id));Use a secondary index to accelerate spatio-temporal queries on non-primary-key columns:
-- Spatial range queries only
CREATE INDEX idx ON gtest (Z-ORDER(g));
-- Spatial and time range queries
CREATE INDEX idx ON gtest (Z-ORDER(g,t));Secondary indexes in GanosBase SQL eliminate the need for a redundant data replica to support spatio-temporal queries.
Inherited LindormTable features
Because GanosBase is built on LindormTable, GanosBase SQL tables also support cold storage, hot and cold data separation, and dynamic columns. See Developer Guide for details.
GanosBase GeoMesa
GanosBase GeoMesa is a drop-in backend for applications built on open source GeoMesa or GeoServer. It inherits the full GeoMesa feature set and is compatible with GeoTools APIs and ECQL, so you can migrate existing GeoMesa applications to a distributed, scalable backend.
GanosBase for streaming engines
GanosBase for streaming engines adds spatio-temporal capabilities to Apache Flink through standard Flink SQL. It is designed for migrating Flink or Spark streaming pipelines that process location or trajectory data.
Key capabilities:
All standard Apache Flink streaming computing features
A large library of PostGIS-compatible spatio-temporal functions
Trajectory data calculation functions
Real-time geofence filtering and trajectory aggregation
In-memory indexes and parallel queries for low-latency performance
Use cases
The following scenarios show how GanosBase SQL is applied across industries, including traveling, navigation, aviation, Internet of Vehicles (IoV), and logistics.GanosBaseGanosBaseGanosBase
Trajectory storage and query
A fleet operator queries the trajectory of an object within a given area over the last 24 hours. Historical trajectory data is compressed and archived to reduce storage costs.
Geographic grid aggregation
A city mobility team counts vehicles across districts using H3 grid aggregation and visualizes density as a heatmap. Aggregation precision is specified per query based on the required granularity.
Real-time geofencing
A logistics platform triggers an alert when a delivery vehicle deviates from its planned route. A ride-hailing app determines pricing zones by mapping pickup locations to spatial grid cells.
Location-based services
A consumer app surfaces restaurants within 5 kilometers of the user's current location.