4 ms·
Collecting structured log data like monitors or exception traces or user analytics. Lots of documents, no fixed schema, they're all self-contained with no relat
by lotyrin 13y ago
Collecting structured log data like monitors or exception traces or user analytics. Lots of documents, no fixed schema, they're all self-contained with no relations. Map reduce makes query parallelism crazy magic.
A content management system. Some stuff may want data from across relations (who owns this thing, and what is their email), but that's pretty infrequent and having nice flexible-schema documents that contain all relevant information that's being CRUD'ed simplifies things hugely - particularly in MVCC systems like Couch that put stuff like multi-master/offline-online sync and conflict resolution in the set of core expectations.
Edit: That said, Postgres is also MVCC, and hstore makes schema an option the same way that relations and transactions were already, so I think it could do pretty well. I haven't gotten the chance to play with it in recent history, unfortunately.
- Govannon 13y ago> Some stuff may want data from across relations (who owns this thing, and what is their email), but that's pretty infrequent That might be a shaky assumption. Speaking as someone who works on a CMS, content usually has an author, and people accessing that content might be interested in them.
- lotyrin 13y agoYeah, but in most of those cases, it's as easy as get the author based on a key from his content. It's only when you want joins (e.g. give me all of the titles of all the content and their author's information at the same time) that things get hairy. Agreed it's not always going to be true for many CMSes. I meant it as a particular CMS, not the general class of CMSes but didn't make that clear at all.
- darkarmani 13y ago> Map reduce makes query parallelism crazy magic. Isn't that only true if you have lots of shards? Otherwise, you have one process doing the mapping.