Pro:
- More well-tested than ZODB and MiddleKit.
- Relational databases are based on solid mathematical foundations
(relational algebra, set theory, etc.), but OODBMS have no such
theoretical underpinning (Link to comments by Fabian Pascal).
- Full control over relations, transactions, etc.
- All queries are programmer-written and optimized, and by reducing
the number of queries you give the RDBMS more opportunity to do
optimizations
- You can leverage the database's abilities to cache and store
information compactly
Con:
- Non-Pythonic: requires you to translate your objects and
manipulations to/from SQL statements
- No layer of abstraction between the database schema and the Python
interface -- if you change the schema you must change all the Python
code unless you create your own abstraction layer or use views more,
either of which is highly recommended
- Queries are programmer-written and optimized, which means more work
- It is difficult to cache results (though the database does caching
of its own)
- Some operations are difficult to do in SQL
-- MikeOrr - 31 Dec 2001
-- EdmundLian -- 03 Jan 2002
-- IanBicking - 04 Jan 2002