Welcome to the FESTIval's Documentation!#

FESTIval logo
Download Source code
FESTIval-v1.1.1 Github Project

To cite FESTIval, please mention its following journal article:

This article deeply describes FESTIval and its internal structures.

News#

FESTIval was employed in a recent research article accepted for publication in the GeoInformatica. The accepted manuscript can be found below:

Carniel, A. C.; Roumelis, G.; Ciferri, R. R.; Vassilakopoulos, M.; Corral, A.; Aguiar, C. D. Porting Disk-based Spatial Index Structures to Flash-based Solid State Drives. GeoInformatica, 2021.

Overview#

FESTIval (short for Framework to Evaluate SpaTial Indices) is a framework with the following goal: to provide a common environment that aids the definition, execution, and analyses of experimental evaluations of spatial indices. Conducting experimental evaluation of spatial indices is a challenging task because they

  • are complex structures that accelerate the spatial query processing in spatial database systems and geographical information systems,
  • can assume distinct configurations (i.e., parameter values) and,
  • might be designed for specific storage devices (e.g., magnetic disks and flash memories); thus, a wide range of different spatial indices has been proposed in the literature.

FESTIval is implemented in C as a PostgreSQL extension. PostgreSQL is a free, open-source database management system widely employed by the academia and industry. By using its internal library, we are able to add new functionalities by using a low level program language (e.g., C language) or high level program language (e.g., pl/pgSQL). More details about its extensibility are given here.

FESTIval also employs PostGIS, a PostgreSQL extension that handles spatial objects in relational tables. Therefore, FESTIval acesses spatial objects stored in a column of a relational table (managed by PostGIS) in order to be manipulated by spatial indices.

Features#

Currently, FESTIval allows users to:

  • evaluate disk-based spatial indices (i.e., indices for magnetic disks): R-tree, R*-tree, and Hilbert R-tree.
  • evaluate flash-aware spatial indices (i.e, indices for flash memories): FOR-tree, FAST-based indices, and eFIND-based indices.
  • specify and execute user-defined workloads by using a unique environment.
  • access an integrated data schema that stores index configurations and statistical data of executed workloads.
  • use any spatial dataset in experiments. Default spatial datasets are also provided.
  • reproduce executed workloads.

FESTIval manages a schema in the PostgreSQL called fds. This schema is automatically created by the FESTIval when the CREATE EXTENSION command is executed in a database. By using this schema, it is possible to collect and compare statistical data of different indices and analysis their performance results.

Applicability#

FESTIval has been employed in many experimental evaluations conducted and reported in research papers, as listed in our Publications page. In general, FESTIval has been applied to:

  • better understand the performance behavior of spatial indices in different storage devices, and
  • validate new proposals of spatial indices.

Please make a Pull Request to add your work on the Publications page using FESTIval!

#

Acknowledgments #

This project was supported by grant #2015/26687-8, São Paulo Research Foundation (FAPESP) in Brazil (2015-2018). FESTIval is mantained and developed by Anderson Chaves Carniel.

Research conducted at the Federal University of São Carlos, Brazil. Its development was started at the University of São Paulo and the Federal University of Technology - Paraná, Brazil.