Lindorm GanosBase es un motor de datos espaciotemporales creado de forma nativa sobre LindormTable, el motor de tablas anchas de Lindorm. Extiende LindormTable con tipos de datos espaciales, índices espaciotemporales y funciones compatibles con PostGIS. Esto le permite almacenar, consultar y analizar datos de trayectoria a gran escala con el rendimiento y el perfil de costos de un almacén distribuido de tablas anchas.
Si su aplicación procesa datos de trayectoria provenientes del internet de los vehículos (IoV), el internet de las cosas (IoT), la logística, la conducción autónoma, los viajes, la navegación o cargas de trabajo de sistemas de información geográfica (GIS), GanosBase está diseñado para esa escala.
Cuándo usar GanosBase
GanosBase se adapta a sus necesidades cuando:
Su aplicación ejecuta consultas de rango espaciotemporal; por ejemplo, buscar todos los vehículos que pasaron por un área específica durante la última hora.
Necesita geocercas en tiempo real para detectar cuándo un objeto entra o sale de un límite definido.
Ejecuta servicios basados en ubicación, como la búsqueda de puntos de interés dentro de un radio determinado.
Cuenta con grandes volúmenes de datos históricos de trayectoria y necesita comprimirlos y archivarlos de manera rentable.
Su aplicación actual usa funciones espaciales de PostGIS, GeoMesa, MongoDB o Redis, y desea migrar a un backend distribuido y escalable.
Cómo funciona
Una base de datos espaciotemporal se define por tres capacidades. GanosBase añade las tres a LindormTable:
Tipos de datos espaciales: objetos geométricos estándar que incluyen puntos, LineStrings y polígonos.
Índices espaciotemporales: índices Z-ORDER que asignan coordenadas multidimensionales (espacio, o espacio más tiempo) a una clave unidimensional. Esto habilita escaneos de rango eficientes sin almacenar réplicas redundantes.
Funciones espaciotemporales: una biblioteca de funciones compatible con PostGIS que abarca acceso, relaciones espaciales, procesamiento de datos y medición.
GanosBase expone estas capacidades mediante tres interfaces. Elija la que coincida con su pila actual.
Interfaces compatibles
|
Interfaz |
Punto de entrada |
Ideal para |
Rendimiento |
|
GanosBase SQL |
SQL estándar |
Aplicaciones creadas con funciones espaciales de PostGIS, GeoMesa, MongoDB o Redis |
Superior al de GeoMesa de código abierto (reescritura de consultas, consultas paralelas, fragmentos y algoritmos optimizados de aproximación espacial) |
|
GanosBase GeoMesa |
API de GeoTools o ECQL |
Aplicaciones creadas sobre GeoMesa de código abierto |
Superior al de GeoMesa y HBase de código abierto |
|
GanosBase para motores de streaming |
Flink SQL estándar |
Canalizaciones de streaming de Flink o Spark |
Excelente rendimiento de consulta mediante índices en memoria y consultas paralelas |
GanosBase SQL
GanosBase SQL expone las capacidades espaciotemporales mediante SQL estándar. Cubre las funciones de procesamiento de datos de GeoMesa, MongoDB y Redis en una sola interfaz.
Tipos de datos espaciales
Puntos, LineStrings y polígonos: objetos geométricos estándar de OGC. Consulte Spatial data types.
Sintaxis de SQL
Use instrucciones DDL y DML estándar para trabajar con tablas espaciotemporales:
Cree una tabla: CREATE TABLE
Inserte o actualice datos: UPSERT
Consulte datos: SELECT
Para consultar la referencia completa de sintaxis, consulte DDL y DML.
Funciones espaciotemporales
GanosBase SQL incluye funciones compatibles con PostGIS en cuatro categorías:
|
Categoría |
Funciones de ejemplo |
|
Acceso |
|
|
Relaciones espaciales |
|
|
Procesamiento de datos |
|
|
Medición |
|
Para consultar la referencia completa de funciones, consulte Overview.
Índices espaciotemporales
GanosBase SQL utiliza índices Z-ORDER, los cuales codifican coordenadas espaciales o espaciotemporales como una clave unidimensional. Esto admite escaneos de rango eficientes sobre condiciones solo espaciales o de espacio más tiempo, sin necesidad de almacenar una réplica de datos redundante.
Utilice un índice de clave primaria cuando el patrón de búsqueda principal sea espacial o espaciotemporal:
-- 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));
Utilice un índice secundario para acelerar las consultas espaciotemporales en columnas que no sean clave primaria:
-- 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));
Los índices secundarios en GanosBase SQL eliminan la necesidad de una réplica de datos redundante para admitir consultas espaciotemporales.
Funciones heredadas de LindormTable
Dado que GanosBase se construyó sobre LindormTable, las tablas de GanosBase SQL también admiten almacenamiento en frío, separación de datos calientes y fríos, y columnas dinámicas. Consulte Developer Guide para obtener más detalles.
GanosBase GeoMesa
GanosBase GeoMesa es un backend de reemplazo directo para aplicaciones creadas sobre GeoMesa o GeoServer de código abierto. Hereda el conjunto completo de funciones de GeoMesa y es compatible con las API de GeoTools y ECQL. Por lo tanto, puede migrar sus aplicaciones de GeoMesa existentes a un backend distribuido y escalable.
GanosBase para motores de streaming
GanosBase para motores de streaming añade capacidades espaciotemporales a Apache Flink mediante Flink SQL estándar. Está diseñado para migrar canalizaciones de streaming de Flink o Spark que procesan datos de ubicación o trayectoria.
Capacidades principales:
Todas las funciones estándar de computación en streaming de Apache Flink
Una amplia biblioteca de funciones espaciotemporales compatibles con PostGIS
Funciones de cálculo de datos de trayectoria
Filtrado de geocercas y agregación de trayectorias en tiempo real
Índices en memoria y consultas paralelas para un rendimiento de baja latencia
Casos de uso
A continuación se muestran escenarios donde se aplica GanosBase SQL en distintas industrias, incluidos viajes, navegación, aviación, internet de los vehículos (IoV) y logística.
Almacenamiento y consulta de trayectorias
Un operador de flotas consulta la trayectoria de un objeto dentro de un área determinada durante las últimas 24 horas. Los datos históricos de trayectoria se comprimen y archivan para reducir los costos de almacenamiento.
Agregación por cuadrícula geográfica
Un equipo de movilidad urbana cuenta vehículos por distritos mediante la agregación de cuadrículas H3 y visualiza la densidad como un mapa de calor. La precisión de la agregación se especifica por consulta según la granularidad obligatoria.
Geocercas en tiempo real
Una plataforma logística activa una alerta cuando un vehículo de reparto se desvía de su ruta planificada. Una aplicación de transporte privado determina zonas de tarifas al asignar ubicaciones de recogida a celdas de una cuadrícula espacial.
Servicios basados en ubicación
Una aplicación para consumidores muestra restaurantes ubicados a menos de 5 kilómetros de la ubicación actual del usuario.