This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teaching:projh402 [2020/10/01 11:17] ezimanyi [Projects in Mobility Databases] |
teaching:projh402 [2020/10/01 11:34] ezimanyi [Implementing TSBS on MobilityDB] |
||
---|---|---|---|
Line 9: | Line 9: | ||
Mobility databases (MOD) are database systems that can store and manage moving object geospatial trajectory data. A moving object is an object that changes its location over time (e.g., a car driving on the road network). Using a variety of sensors, the location tracks of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. A couple of prototype systems have been proposed by research groups. Yet, a mainstream system is by far still missing. By mainstream we mean that the development builds on widely accepted tools, that are actively being maintained and developed. A mainstream system would exploit the functionality of these tools, and would maximize the reuse of their ecosystems. As a result, it becomes more closer to end users, and easily adopted in the industry. | Mobility databases (MOD) are database systems that can store and manage moving object geospatial trajectory data. A moving object is an object that changes its location over time (e.g., a car driving on the road network). Using a variety of sensors, the location tracks of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. A couple of prototype systems have been proposed by research groups. Yet, a mainstream system is by far still missing. By mainstream we mean that the development builds on widely accepted tools, that are actively being maintained and developed. A mainstream system would exploit the functionality of these tools, and would maximize the reuse of their ecosystems. As a result, it becomes more closer to end users, and easily adopted in the industry. | ||
- | Towards filling this gap, our group is building the [[https://github.com/MobilityDB/MobilityDB|MobilityDB]] system. It builds on PostGIS, which is a spatial database extension of PostgreSQL. MobilityDB extends the type system of PostgreSQL and PostGIS with ADTs for representing moving object data. It defines, for instance, the tgeompoint type for representing a time dependant geometry point. MobilityDB types are well integrated into the platform, to achieve maximal reusability, hence a mainstream development. For instance, the tgeompoint type builds on the PostGIS geometry(point) type. Similarly MobilityDB builds on existing operations, indexing, and optimization framework. | + | Towards filling this gap, our group is building the [[https://github.com/MobilityDB/MobilityDB|MobilityDB]] system. It builds on [[https://postgis.net/|PostGIS]], which is a spatial database extension of [[https://www.postgresql.org/|PostgreSQL]]. MobilityDB extends the type system of PostgreSQL and PostGIS with ADTs for representing moving object data. It defines, for instance, the tgeompoint type for representing a time dependant geometry point. MobilityDB types are well integrated into the platform, to achieve maximal reusability, hence a mainstream development. For instance, the tgeompoint type builds on the PostGIS geometry(point) type. Similarly MobilityDB builds on existing operations, indexing, and optimization framework. |
- | MobilityDB supports SQL as query interface. Currently it is quite rich in terms of types and functions. It is incubated as community project in OSGeo [[OSGeo|https://www.osgeo.org/projects/mobilitydb/]], which certifies high technical quality. | + | MobilityDB supports SQL as query interface. Currently it is quite rich in terms of types and functions. It is incubated as community project in [[https://www.osgeo.org/projects/mobilitydb/|OSGeo]], which certifies high technical quality. |
The following project ideas contribute to different parts of MobilityDB. They all constitute innovative development, mixing both research and development. They hence will help developing the student skills in: | The following project ideas contribute to different parts of MobilityDB. They all constitute innovative development, mixing both research and development. They hence will help developing the student skills in: | ||
Line 20: | Line 20: | ||
- | ==== Visualization Moving Objects on the Web ==== | + | ===== Visualization Moving Objects on the Web ===== |
+ | <TBD> | ||
- | ==== Implementing TSBS on MobilityDB ==== | ||
- | which includes devising a spatio-temporal bucket function equivalent to time_bucket from TimescaleDB. | ||
+ | ===== Implementing TSBS on MobilityDB ===== | ||
- | ==== Distributed Moving Object Database on Amazon AWS ==== | + | The Time Series Benchmark Suite ([[https://github.com/timescale/tsbs|TSBS]]) is a collection of Go programs that are used to generate datasets and then benchmark read and write performance of various time series databases. This bechmark has been developed by [[https://www.timescale.com/|TimescaleDB]], which is a time series extension of PostgreSQL. |
+ | |||
+ | A significant addition of TimescaleDB to PosgreSQL is the addition of the [[https://blog.timescale.com/blog/simplified-time-series-analytics-using-the-time_bucket-function/|time_bucket]] function. This function allows to partition the time line in user-defined interval units that are used for aggregating data. | ||
+ | |||
+ | The project consists in implementing a multidimensional generalization of the time_bucket function that allows the user to partition the spatial and/or temporal domain of a table in units (or tiles) that can be used for aggregating data. Then, the project consists of performing a benchmark comparison of TimescaleDB and MobilityDB. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Distributed Moving Object Database on Amazon AWS ===== | ||
A distributed database is an architecture in which multiple database instances on different machines are integrate in order to form a single database server. Both the data and the queries are then distributed over these database instances. This architecture is effective in deploying big databases on a cloud platform. | A distributed database is an architecture in which multiple database instances on different machines are integrate in order to form a single database server. Both the data and the queries are then distributed over these database instances. This architecture is effective in deploying big databases on a cloud platform. | ||
Line 33: | Line 41: | ||
- | ==== Distributed Moving Object Database on MS Azure ==== | + | ===== Distributed Moving Object Database on MS Azure ===== |
A distributed database is an architecture in which multiple database instances on different machines are integrate in order to form a single database server. Both the data and the queries are then distributed over these database instances. This architecture is effective in deploying big databases on a cloud platform. | A distributed database is an architecture in which multiple database instances on different machines are integrate in order to form a single database server. Both the data and the queries are then distributed over these database instances. This architecture is effective in deploying big databases on a cloud platform. | ||
- | MobilityDB is engineered as an extension of PostgreSQL. MS Azure supports distributed PostgreSQL databases using [[Citus|https://www.citusdata.com/]]. We have made successful tests for integrating MobilityDB and Citus on a local cluster. The goal of this project is to repeat this work on MS Azureintegrate MobilityDB with these products. The key outcomes are a comprehensive assessment of which MOD API can/cannot be distributed, and an assessment of the performance gain. These outcomes should serve as a base for a thesis project to achieve effective integration. | + | MobilityDB is engineered as an extension of PostgreSQL. MS Azure supports distributed PostgreSQL databases using [[https://www.citusdata.com/|Citus]]. We have made successful tests for integrating MobilityDB and Citus on a local cluster. The goal of this project is to repeat this work on MS Azureintegrate MobilityDB with these products. The key outcomes are a comprehensive assessment of which MOD API can/cannot be distributed, and an assessment of the performance gain. These outcomes should serve as a base for a thesis project to achieve effective integration. |
- | ==== Map-matching as a Service ==== | + | |
+ | ===== Map-matching as a Service ===== | ||
When GPS tracks typically contain errors, because the GPS receiver | When GPS tracks typically contain errors, because the GPS receiver | ||
- | ==== Geospatial Trajectory Data Cleaning ==== | + | ===== Geospatial Trajectory Data Cleaning ===== |
- | ==== Geospatial Trajectory Similarity Measure ==== | + | ===== Geospatial Trajectory Similarity Measure ===== |
- | ==== Spatiotemporal k-Nearest Neighbour (kNN) Queries ==== | + | ===== Spatiotemporal k-Nearest Neighbour (kNN) Queries ===== |