← Back to team overview

nova-database team mailing list archive

Organizing/Meeting

 

Hey Guys,

It would probably be good to schedule an irc meeting to get the ball rolling on some db changes.  Based on some discussions that I've had recently, I see the following potential acition items.  Not all of these have been turned into blueprints yet:

1) Switch to using scoped sessions in sqlalchemy (the naive version of this apparently breaks migrations)
2) Try using the pure pyhon mysql driver so eventlet can monkeypatch the calls (this probably requires 1)
3) Sanitize all objects to dictionaries coming out of the db layer (the naive version of this is just wrapping all of the return values in dict())
4) Remove unused / stale db calls
5) Break db.api into multiple files
6) Test the db layer directly (This will give us a good record of expected objects returned from the db layer)
---
7) Use the law of demeter for db objects instead of indirectly accessing subobjects (This implies a heavy performance penalty, so we will probably need smart caching where we joinedload objects when possible and return the cached object instead of reloading)
8) Implement a second db driver (zookeeper)
9) Split the dbs for different components into separate databases (this is a heavy change and will require code changes throughout the code)

7-9 are definitely longer term goals, and they probably won't make it into the essex timeframe.  I think 1 through 6 are all doable in this release, and we may be able to make some progress on the others as well.

Vish



Follow ups