[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #12030 [BridgeDB]: Create a ORM DatabaseManager for interacting with BridgeDB's database backends
#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
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs