Contact us

Mireo SpaceTime Cluster is a complete solution for storing, monitoring and analyzing historical and real-time moving-object data, with particular focus on massive GPS-tracking use cases.

The interface exposed to the MSQL query language is that of a federated database management system, i.e. a set of several database-like components (DBS-es) all queriable in the same way and accessible from within a single query.

All the records stored in the any of the SpaceTime Cluster components are treated the same (from the viewpoint of an MSQL query), and the data from one DBS can be joined with the data from another, as in the following query:

SELECT sum(t.len)
  FROM st.trip AS t
  JOIN ndb.vehicle AS v ON t.vid=v.id
  WHERE v.registration_number = 'ABC123'

-- Matches static vehicle data (i.e. registration number) stored in one DBS (ndb)
-- with historical trips data stored in another DBS (st) and aggregates the results.

The specific differences of each DBS are dealt with by the MSQL query engine, which correctly and optimally plans and distributes the query execution over corresponding SpaceTime Cluster components.


Cluster Components


The following are the database-like components of the SpaceTime Cluster available for querying from the MSQL language, with a listing of the most important data tables of each (in the GPS-tracking cluster setup):


MySQL NDB Cluster

A conventional relational SQL database for keeping infrequently-changing administrative data (such as vehicle registration numbers, customer POIs, client-selected geofence polygons etc).

Table & description Usual schema
ndb.vehicle
Vehicle administrative data.
id int32 not null
name varchar
customer_id int32
registration_number varchar not null
status int32 not null
ts int64 not null
opcode int8 not null
ndb.poi
Saved points-of-interest.
id int32 not null
customer_id int32
owner int32
amode int8 not null
polygon_id int32
duration int32
radius int32
color int32
external_id varchar
wpx int32
wpy int32
name varchar
country varchar
city varchar
area varchar
plz varchar
street varchar
house_no varchar
type varchar
phone varchar
tag varchar
description varchar
ts int64 not null
opcode int8 not null
ndb.polygon
Saved geofence polygons.
id int32 not null
name varchar
customer_id int32
owner int32
points binary
amode int8 not null
ts int64 not null
opcode int8 not null
ndb.const_road_type
Mapping between road type codes and their names.
rtype int16 not null
type_name varchar
group_name varchar

SpaceTime database

A massively scalable, distributed, disk-based storage and query execution engine designed for extremely fast insertion and querying of non-scalar data types (such as moving-objects trajectories, spatiotemporal data points etc)..

Table & description Usual schema
st.segment
Matched road segments crossed by vehicles
vid uint32 not null
t runixepoch not null
tid uint32 not null
x rint32 not null
y rint32 not null
v ruint16 not null
sl uint8 not null
flags uint8 not null
style uint16 not null
st.trip
Trips driven by each vehicle
vid uint32 not null
t runixepoch not null
x0 int32 not null
y0 int32 not null
x1 int32 not null
y1 int32 not null
len float32 not null
stopdur uint32 not null
st.dsensor
Vehicle discrete-valued sensor data
vid int32 not null
t runixepoch not null
type uint16 not null
val int16 not null
st.csensor
Vehicle continuous-valued sensor data
vid int32 not null
t runixepoch not null
type uint16 not null
val rfloat32 not null

Map GIB (GeoInformational dataBase)

A static geoinformational database for storing and querying map features, such as roads, cities, administrative areas, various points-of-interest etc. The data from this database is accessible via the following table-valued functions:

Table-valued Function Description
MAP.GEOCODE_PTS Searches the geoinformational database for point-like map features matching the given term and returns the results.
MAP.GEOCODE_LINES Searches the geoinformational database for linear map features matching the given term and returns the results.
MAP.GEOCODE_AREAS Searches the geoinformational database for areal (i.e. polygonal) map features matching the given term and returns the results.
MAP.REV_GEOCODE Reverse-geocodes a given (x,y) point on the map, returning its address info (country, city, street etc).
MAP.ROUTE Calculates the quickest route between two points on a map and returns its properties and geometry.