Rodrigo Dias Arruda Senra writes: > Some possible rules of thumb (far from an exaustive list): > > Relational - when you have a huge volume of data, sharing a > small set of stable data schemes. > - when you need ad hoc queries that could be > written as SQL+operators > > OODB - when you have a considerable diversity of data schemes, > when you have to index textual content (==Information Retrieval), > when browsing a structure is enough as a query language > (== when you can do without cross products and joins). > > But I afraid you knew all of that already ;o) I'd like to gently disagree. Personally, in terms of ad hoc queries, I've yet to find anything that SQL can do better operating on relational databases than Python can do operating on Durus. Granted, depending on what you do, the result set might not be resolved as quickly as with an SQL query, but in terms of expressiveness, Python is hard to beat as a query language. I believe this is one of the things that enables us to do regular major schema changes to our databases... things that would just make me grown with pain to do in relational land... particularly if there's an OO layering that also has to be carried along. Can you give us an example of where SQL might be better for ad hoc queries? -Roger Masse