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/03 16:16] ezimanyi [K-D-Tree Indexes for MobilityDB] |
teaching:projh402 [2020/10/03 18:13] ezimanyi [VODKA Indexes for MobilityDB] |
||
---|---|---|---|
Line 82: | Line 82: | ||
===== VODKA Indexes for MobilityDB ===== | ===== VODKA Indexes for MobilityDB ===== | ||
+ | |||
+ | MobilityDB provides [[https://habr.com/en/company/postgrespro/blog/444742/|GiST]] and [[https://habr.com/ru/company/postgrespro/blog/446624/|SP-GiST]] indexes for temporal types. These indexes are based on bounding boxes, that is, the nodes of the index tree store a bounding box that keeps the mininum and maximum values of each of the dimensions where X, Y, Z (if available) are for the spatial dimension and T for the temporal dimension. The reason for this is that a temporal type (for example, a moving point representing the movement of a vehicle) can have thousands of timestamped points and keeping all these points for each vehicle indexed in a table is very inefficient. By keeping the bounding box only it is possible to quickly filter the rows in a table and then a more detailed analysis can be made for those rows selected by the index. | ||
+ | |||
+ | However, the drawback of keeping a single bounding box for the whole trajectory makes that the index is not very selective as shown in the following figure (extracted from a presentation by Oleg Bartunov from ProstgresPro) | ||
+ | {{:teaching:gist.png?200|}} | ||
+ | The goal of the project is to define [[https://www.pgcon.org/2014/schedule/events/696.en.html|VODKA indexes]] that enable us to store in the index multiple bounding boxes associated to each row in the table as shown in the following figure | ||
+ | {{:teaching:vodka.png?200|}} | ||
+ | |||