Migración de la versión 1.0 a la versión 1.1

MobilityDB 1.1 es una revisión importante con respecto a la versión inicial 1.0. El cambio más significativo en la version 1.1 fue extraer la funcionalidad central para la gestión de datos temporales y espaciotemporales de MobilityDB en la bibilioteca C Mobility Engine Open Source (MEOS). De esta forma, la misma funcionalidad que proporciona MobilityDB en un entorno de base de datos está disponible en un programa C para ser utilizada, por ejemplo, en un entorno de streaming. La biblioteca MEOS para la gestión de la movilidad proporciona una funcionalidad similar a la biblioteca C/C++ Geometry Engine Open Source (GEOS) para geometría computacional. Además, están disponibles contenedores para la biblioteca MEOS en otros lenguajes de programación, en particular para Python con PyMEOS. Además, contenedores para C#, Java y Javascript, están en desarrollando.

Fueron necesarios varios cambios con respecto a la versión 1.0 de MobilityDB para habilitar lo anterior. Uno importante fue la definición de nuevos tipos de datos span y spanset, que brindan una funcionalidad similar a los tipos de datos de PostgreSQL range y multirange pero también se puede usar en varios lenguajes de programación independientemente de PostgreSQL. Estos son tipos de plantilla, lo que significa que son contenedores de otros tipos, de forma similar a como las listas y matrices contienen valores de otros tipos. Además, también se agregó un nuevo tipo de datos de plantilla set. Por lo tanto, los tipos timestampset, period y periodset en la versión 1.0 se reemplazan por los tipos tstzset, tstzspan y tstzspanset en la versión 1.1. El nombre de las funciones constructoras para estos tipos se modificó en consecuencia.

Finalmente, se simplificó la API de MEOS y MobilityDB para mejorar la usabilidad. Detallamos a continuación los cambios más importantes en la API.