[tor-bugs] #12030 [BridgeDB]: Create a ORM DatabaseManager for interacting with BridgeDB's database backends

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri May 16 16:01:39 UTC 2014


#12030: Create a ORM DatabaseManager for interacting with BridgeDB's database
backends
-------------------------------------------------+-------------------------
 Reporter:  isis                                 |          Owner:  isis
     Type:  defect                               |         Status:  new
 Priority:  major                                |      Milestone:
Component:  BridgeDB                             |        Version:
 Keywords:  bridgedb-db, bridgedb-dist,          |  Actual Points:
  bridgedb-1.0.x, proposal-226                   |         Points:
Parent ID:                                       |
-------------------------------------------------+-------------------------
 We need a `DatabaseManager` which will handle receiving `BridgeRequest`s
 from BridgeDB's distributors, and will
 [https://twitter.com/BigDataBorat/status/360850476150956032 queue these
 requests] as transactions with the backend databases.

 The distributors are going to use a common method (just call it
 `getBridgesFromDBManager()` for now) to request `Bridge`s from the
 `DatabaseManager`, and they will expect to receive some relatively well-
 supported, simple, serialised format (probably JSON) in return.

  1. '''The Easy Way''' The ''easier'' way to do this would be to not
 really actually truly make a for-reals ORM, and simply expect to be
 interacting with a NOSQLly CouchDB backend
 [https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/226
 -bridgedb-database-improvements.txt#l82 as described in proposal #226].
 CouchDB documents are JSON anyway, so this is super easy. If we go this
 route, we'll need some code to convert the old SQLly stuff to the new
 NOSQLly format.

  2. '''The Masochistic Way''' The harder, but possibly better in the long
 run (should we ever decide to stop using NOSQL/OODBMSs), way to do this
 would be to write a true ORM/RDBMS which can work with either system.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12030>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list