Last time I haven’t much time to write here but there is an interesting issue I’m always thinking about. The problem is I really don’t like SQL. I know, it’s good in many situations, people always use it, and I’m one of them. But this is not really elegant solution, even if i’m using ORM’s like ActiveRecord or DataMapper in Rails for example, or GLORP in Seaside. Of course it works, what is more, it works really good, I’ve been using it for many comercial projects so i cant simple say - it’s rubbish. But things still could be better. It’s a little bit complicated  to converting objects to sql, sql to object and so on and so on. Object databases is more natural choice, i’m programming in Object Prorogramming Language and the “simplest” way is to choose Object Database. What is more Object Databases are much better for Agile development than RDBMS. “Modern software development processes are evolutionary in nature, but more often than not agile. Agile techniques include refactoring, agile modeling, continual regression testing, configuration management of all development assets, and separate sandboxes for developers to work in. The use of relational database (RDBMS) technology complicates the adoption of these techniques due to the technical impedance mismatch, the cultural impedance mismatch, and the current lack of tool support. Object databases (ODBMSs) make it easier to be agile.” full article. Somebody also said that Object Databases are not ready for real production software - not true. Look at GemStone for example ! or DB4O (there is also  Ruby implementation), GOODS (great Smalltalk implementation by Avi Bryant) or MAGMA (for Seaside !). The similar problem is in the XML world. I’m working with Flex and there are situations that all communication (backend - frontend) is providing by XML rather than AMF. And again of course you can use e.g. Rails as a backend ORM and converting objects to XML and sending it to Flex app and back. But is it the simplest way ? Probably not, in my opinion more elegant and easier way is to store XML in the Native XML database and manipulate it by using XQuery or XPath. It’s definitely natural solution, of course again there are many ways like databases XML enable (IBM DB9 or MSSQL) - but expensive and really complicated. If you’ll choose Native XML interesting thing is Sedna (I even created admin app for it :p) , eXist or Berkeley DB XML - my friend Evgenios Skitsanos is using it probably, so you can ask him ;). You should read also interesting articles about NXD (Native XML databases): Managing XML data, Introduction to NXD. Have fun :)