http://www.perlmonks.org?node_id=168999


in reply to XML for databases?!?! Is it just me or is the rest of the world nutz?

For my sins I use to work for Inso (the bits left are at RBI Inc), and amongst putting the squiggly line under incorrectly spelt words in MS Word, we had a family of SGML and later XML products. Some of the Monastery will remember DynaTag, DynaWeb and finally DynaBase, our SGML/XML based solutions.

I use to work with DynaBase, and it stored XML in a eXcelon ObjectStore DB, indexed to the tag level. Basically we invented DOM, and held every document in one massive DOM tree in the DB. We could store any kind of structured data you could imagine in a huge XML tree, and find it using a version of search that was XPath aware. If you wanted to find the word foo, in every bar tag with attributes of baz, it could trawl through 2Gb of data faster that you could say Oracle.

HOWEVER, if you used it to hold tabular data it would grind to a shuddering halt. It was slow to index, slow to search and slow to extract data from.

If you are building a web content management system using human generated, arbitrarily structured content, and you need good searching tools, then a XML database is the best way to do it. If you want to hold anything with a predictable structure then a relational DB is the way to go.

The right tools for the right job!

My humble 2p.