Skip to content
Snippets Groups Projects
Commit 8159855b authored by Karsten Loesing's avatar Karsten Loesing
Browse files

Reduce database size and variance of query response times.

The changes in this commit are mainly driven by the following database
changes:

 - Fingerprints are no longer stored repeatedly as strings in the
   statusentry and exitlistentry tables but instead moved to their own
   fingerprint table and referenced by identifier. This is a step
   towards normalization that ideally reduces database size a lot by
   itself.
 - The statusentry table no longer contains the raw status entry but
   instead only those parts that are required for searching and
   displaying results. This includes nickname and exit information,
   where the former is not stored as string but as reference into its
   own nickname table.
 - There is a new table specifically for lookups which returns all
   relevant fingerprint identifiers for a date and an IP address
   prefix. The new search function based on this new table performs as
   little table joining as necessary and leaves some of the filtering
   and joining to the servlet.

More details can be found in the exonerator2.sql file, which also
serves as migration script from the existing schema to the new one.

Implements #27356.
parent da3eb1fa
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment