Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
teaching:projh402 [2020/10/03 17:52]
ezimanyi [VODKA Indexes for MobilityDB]
teaching:projh402 [2020/10/03 18:13]
ezimanyi [VODKA Indexes for MobilityDB]
Line 83: Line 83:
 ===== 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 onlyit 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.+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|}}
  
  
  
  
 
teaching/projh402.txt · Last modified: 2022/09/06 10:39 by ezimanyi