We all know RDBMS, but what about Document-oriented databases?
Consider the things that you leave an RDBMS to do, like indexing, complex query structure, mathematical functions, storage, transactions etc...
We all know RDBMS, but what about Document-oriented databases?
Consider the things that you leave an RDBMS to do, like indexing, complex query structure, mathematical functions, storage, transactions etc...
My first answer, the file system, but you really need to update your question with more context.
I can't say it's the best, but it is very interesting: Apache CouchDB: http://incubator.apache.org/couchdb/
Used to use Documentum (www.documentum.com) at a large insurance company I used to work for. Java based (well the API we used was Java).
Can't imagine it is cheep though.
Not that it's a Document Database as such, but Daisy works great in this capacity. Mainly because you can author documents within it (like a wiki) you can visually search for existing documents. Also when you upload external files like PDFs, DOCs, etc, it fully indexes them so you can search within their content.
You can also add custom data fields and it has it's own query language that you can use for various tasks. It also has revision control and a security/permissions system.
Do you mean something like a document-oriented database, or maybe a document management system? Many of these systems are built on top of RDBMS's, in a way they're just specialized database apps like anything else.
Usually you store all Metainformation of documents in a RDBMS. The documents itself are stored inside a high performance filesystem and are indexed by the database. On top of that you can server your documents via a webserver to 3rd party applications.
Best = most powerful/flexible/extensible/scalable/secure?
Notes. It really hasn't "fallen out of popularity". It just tends to be under most people's radar.
Maybe you should check out XML Databases such as eXist which has XQuery structured querying and enhances it with Lucene text indexing.
There's an interesting QCon 2010 presentation by Emil Eifrem where he talks about the four different types of NoSQL databases one of which he calls the Document - inspired by Notes
I have actually been researching this myself, and I haven't started yet, but I plan on using MongoDb for my next project. Other options are CouchDb.
Using MongoDb, you are giving up transactions though, so don't use it for any high-value data. (ex. financial)
Some examples of sites using MongoDb are Github, and Sourceforge
It stores data in BSON format, and it makes so much sense for web applications.
Another NoSQL options you should look into is Cassandra (facebook, and digg use this)
Lotus Notes would qualify as a semi-structured data store - a document driven database - but it's never struck me as a particularly good one.