On Wed, Mar 3, 2010 at 12:54 PM, ccc31807 <carte...@gmail.com> wrote: > > As with anything else, you need to match the tool to the job. Yes, I > feel that relational database technology has been much used, and much > abused. However, one of my favorite applications is Postgres, and I > think it's absolutely unbeatable where you have to store data and > perform a large number of queries. >
Let me elaborate on this point for those who haven't experienced this for themselves. When you are starting a new project and you don't have a definitive picture of what the data is going to look like or how it is going to be queried, SQL databases (like PostgreSQL) will help you quickly formalize and understand what your data needs to do. In this role, these databases are invaluable. I can see no comparable tool in the wild, especially not OODBMS. As you grow in scale, you may eventually reach a point where the database can't keep up with you. Either you need to partition the data across machines or you need more specialized and optimized query plans. When you reach that point, there are a number of options that don't include an SQL database. I would expect your project to move those parts of the data away from an SQL database and towards a more specific solution. I see it as a sign of maturity with sufficiently scaled software that they no longer use an SQL database to manage their data. At some point in the project's lifetime, the data is understood well enough that the general nature of the SQL database is unnecessary. -- Jonathan Gardner jgard...@jonathangardner.net -- http://mail.python.org/mailman/listinfo/python-list