In order to get a better understanding of the cost of data queries some tests have been carried out.
Different databases, different ways of specifying the query and various indexing methods have been tried.
The spatial extensions are no longer used since performances are disappointing especially when indexes need to be rebuilt.
Selection of events located within a cone is implemented more accurately.
A typical result with MySQL is shown here.
With a pretty small number of events and using the geographical modules available in the database procucts a first evaluation has been made.
Sample Data are stored in a relational database. Events data are kept in a table.
A perl script is run to retrieve events located in a region defined by ra_max, dec_max, ra_min,dec_min
. (typically 32x32 degrees).
The time spent by the query as well as the number of events found are kept.
The query is launched 100 times, statistics are output.
Radius |
events |
oracle |
mysql |
postgresql |
---|---|---|---|---|
1 |
135 |
90 |
4 |
30 |
2 |
360 |
110 |
9 |
40 |
8 |
4300 |
280 |
100 |
260 |
16 |
15000 |
900 |
380 |
2200 |
On the X axis is the dimension : a value of 16 defines a square of 32x32 degrees.
The Y axis indicates the time in milliseconds.
The crosshairs show the number of events found divided by 10.
These results are for queries using spatial functionnalities implemented by the RDMS.
A R-tree index has been created to improve performances.
Details are available on this page.
See also: