Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • A Analysis
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Network Health
  • Metrics
  • Analysis
  • Issues
  • #4440
Closed
Open
Issue created Nov 08, 2011 by Karsten Loesing@karsten

Attempt an implementation of the relay-search database using MongoDB or CouchDB

Our current relay-search function takes forever to return results. There's legacy/trac#2922 (moved) for improving the database schema to better support searching for single relays. That ticket assumes that we'll continue to use PostgreSQL.

Today I looked into MongoDB for the web server log analysis, and I wonder if MongoDB or CouchDB might be an alternative for implementing the relay-search database.

Every consensus or descriptor could be represented as a document with references to other documents. Indexes could make typical search queries fast. We don't need complicated Map/Reduce functions, because we're only searching and looking up data, not aggregating anything. (That's also the reason why I think this is worth trying out---replacing the metrics database that aggregates statistics with MongoDB/CouchDB may not make as much sense.) Maybe we should run a simple comparison of the new PostgreSQL database that ExoneraTor uses, and that is highly optimized for searches, to an implementation using MongoDB or CouchDB.

I don't know if such a solution will perform better than a PostgreSQL-based solution. I think we should try to find out.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking