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
Previous revision
Next revision Both sides next revision
teaching:projh402 [2020/10/03 17:51]
ezimanyi [VODKA Indexes for MobilityDB]
teaching:projh402 [2020/10/03 18:15]
ezimanyi [VODKA Indexes for MobilityDB]
Line 83: Line 83:
 ===== VODKA Indexes for MobilityDB ===== ===== VODKA Indexes for MobilityDB =====
  
-MobilityDB ​implemented ​[[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, inner or leaf levels ​of the indexes ​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?​400|}} 
 + 
 +The goal of the project is to define [[https://​www.pgcon.org/​2014/​schedule/​events/​696.en.html|VODKA indexes]] for MobilityDB, which  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?​400|}}
  
  
  
  
 
teaching/projh402.txt · Last modified: 2022/09/06 10:39 by ezimanyi