segunda-feira, 8 de fevereiro de 2010

Document-oriented databases

In the last post I have talked about Graph Databases, and today I will keep in the same direction and talk about another kind of database: Document-Oriented database.
A document-oriented database is not a Content Manager system, although some similarities. Usually this kind of database could be view as a KEY-VALUE database, where the key is a unique id (handled by the database) and the value is your document.
The way that the document is described can vary from database implementation but currently the most accepted format is JSON; also the databases offers good query and indexing features to make this data workable in real applications.

This kind of database can be really handful for applications with documentations that evolves among the time and they all can exist at the same type. As the Graph Databases it is not a replace for relational databases, it is another way to store and structure your data; and a way that can be really good for common data store applications.

I would like to end the post with three links, it is a good start to understand how document-oriented database works:
  • http://www.mongodb.org: MongoDB (from "humongous") is a scalable, high-performance, open source, schema-free, document-oriented database (thanks Tiago for the tip for this database).
  • http://couchdb.apache.org/: Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.
  • http://books.couchdb.org/relax/: CouchDB: The Definitive Guide (to understand a little bit more about this kind of the database, read the Introduction).

See you in the next post!

4 comentários:

Anônimo disse...

Good post Laerte. For going even further, here's a pretty complete study about NoSQL databases (CouchDB, MongoDB, BigTable, MemcacheDB, HBase, etc) by Vineet Gupta:

http://www.vineetgupta.com/2010/01/nosql-databases-part-1-landscape.html

Cheers.

Link d'Alekine disse...

Thanks Tiago!

I have seen this link, quite good overview about this kind of "alternative" storing technology.
I don't see it as the end of the relational databases, but for sure it is a lack of alternatives (for people not afraid of having the right man for the right job).

I don't know if you have seen that, but there was last year a convertion about this kind of technology: NOSQL debrief

All the presentations where recorded, so it worts a visit.

Cheers.

Anônimo disse...

Very interesting, I'll watch those videos as soon as I free some time. Thanks ;)

Link d'Alekine disse...

Here there is a comparation between CouchDB, MongoDB and Mysqldb.

Interesting: http://www.idiotsabound.com/did-i-mention-mongodb-is-fast-way-to-go-mongo