

Coming soon: day-long MongoDB training sessions in SF and NYC - rgeorge28
http://blog.mongodb.org/post/378210035/practical-mongodb-training-with-kyle-banker

======
z8000
I reviewed MongoDB and really loved the feature set but the following seem
like big problems to me:

Keys in the document values are stored in the document. Big keys = more space
required.

No async client drivers (still true? The last time I surveyed was in November)

"It doesn't support rollback or anything like that, so you'd have to do that
yourself."

Smaller problems or non-problems:

It is not durable (writes every N seconds). Granted, most "NOSQL" experiments
are not _strictly_ durable (e.g. Redis, Tokyo Cabinet, etc.)

4MB limit / document (I don't have values this large anyway)

32-bit host limits MongoDB DBs to 2GB total size (so use 64-bit)

Auto-sharding is in alpha, and I'm glad to see it coming. But, things like
this scare me: "If a shard is down, the query will return an error." Compare
that feature to something like Riak wherein multiple copies of values are
stored (Riak's W, DW parameters). MongoDB with auto-sharding does not seem
fault tolerant. Am I missing something on this?

Please let me know your thoughts as I do like MongoDB for its speed and query
operators but the above concerns me.

~~~
dm_mongodb
Sharding is use with replication to provide failover. This will be more
automated in the upcoming sharding beta.

Key storage in the document objects make it more 'schemaless' which is
actually incredibly useful; the document format (BSON) is efficient. In
practice that works just fine. Try it out sometime on a test project?

~~~
z8000
Well I'm pretty much compelled to try at it this point. The reviews around
here are pretty stellar.

Do you think that MongoDB would perform well on a shared environment like a
Linode VPS? Does MongoDB have any sort of resource gotchas like "oh, you need
at least 512MB RAM for the thing to even start up" or the like?

~~~
dm_mongodb
it can run in a very small footprint. the one gotcha is that as it uses
memory-mapped files, you need 64 bit OS for multi-GB databases.

