If you are looking to store web logs and then do ad hoc queries you
might/should be using Hadoop (depending on how big your logs are)

While MongoDB has MapReduce (built in) it is there to simulate SQL GROUP BY
and not for large scale analytics by any means.

MongoDB uses a global read/write lock per operation. general and
index-assisted reads are ultra-fast in mongo, but a bigger map/reduce or
group call will block other requests until complete, possibly causing
traffic to back up. because of that global lock, *all writes block*, too.

Cassandra is much more durable but from an architecture perspective keystore
vs document store could be weighed (on smaller traffic systems that do not
need higher level big data scale & durability)

If you have lots of data then MongoDB will eventually become a consistent
problem.

Here is a nice article on MongoDB in a larger scale of implementation
http://www.mikealrogers.com/2010/07/mongodb-performance-durability/ with
some conclusions which also talks about Cassandra, Redis & CouchDB.

MongoDB has made a lot of improvements over time but Cassandra is
*VERY*active also and continues to deliver great features and not
driven by a
corporation but rather the community.

MongoDB is backed and started by a company for them to make money using the
open source modal instead of Cassandra which started to solve a difficult
problem at facebook and then supported completely open source and THEN
having a company later pop up (Riptano) to support it making their money
using the open source modal... I say this to express the drives of the 2
servers & open source projects/communities are different.

You might see Google trends for MongoDB going up because folks jump into
because of the marketing and then have issues and try to find solutions =8^)

Now, I am not bashing MongoDB by an sorts it is a good database (so is
MySQL) but it is all about use cases AND the implementation/use/load.  Apply
the right solution to the problem it fits in all respects!

For logs (speaking with my architect hat on) I see no reason why you would
want to hold that in a document structure but at the same time you might not
have that many logs so you can get a lot of benefit from MongoDB M/R and
such....But honestly if it is less than 1TB you might be fine JUST using
MySQL.

It is all relative.

Lastly, and back to Hadoop, Cassandra has a nice implementation so that when
you load your data into Cassandra you can pull it out to MapReduce it
http://allthingshadoop.com/2010/04/24/running-hadoop-mapreduce-with-cassandra-nosql/

/*
Joe Stein
http://www.linkedin.com/in/charmalloc
Twitter: @allthingshadoop
*/

On Tue, Jul 27, 2010 at 4:05 PM, Mark <static.void....@gmail.com> wrote:

> On 7/27/10 12:42 PM, Dave Gardner wrote:
>
>> There are quite a few differences. Ultimately it depends on your use
>> case! For example Mongo has a limit on the maximum "document" size of
>> 4MB, whereas with Cassandra you are not really limited to the volume
>> of data/columns per-row (I think there maybe a limit of 2GB perhaps;
>> basically none)
>>
>> Another point re: search volumes is that mongo has been actively
>> promoting over the last few months. I recently attended an excellent
>> conference day in London which was very cheap; tickets probably didn't
>> cover the costs. I guess this is part of their strategy. Eg: encourage
>> adoption.
>>
>> Dave
>>
>> On Tuesday, July 27, 2010, Jonathan Shook<jsh...@gmail.com>  wrote:
>>
>>
>>> Also, google trends is only a measure of what terms people are
>>> searching for. To equate this directly to growth would be misleading.
>>>
>>>  Tue, Jul 27, 2010 at 12:27 PM, Drew Dahlke<drew.dah...@bronto.com>
>>>  wrote:
>>>
>>>
>>>> There's a good post on stackoverflow comparing the two
>>>> http://stackoverflow.com/questions/2892729/mongodb-vs-cassandra
>>>>
>>>> It seems to me that both projects have pretty vibrant communities behind
>>>> them.
>>>>
>>>> On Tue, Jul 27, 2010 at 11:14 AM, Mark<static.void....@gmail.com>
>>>>  wrote:
>>>>
>>>>
>>>>> Can someone quickly explain the differences between the two? Other than
>>>>> the
>>>>> fact that MongoDB supports ad-hoc querying I don't know whats
>>>>> different. It
>>>>> also appears (using google trends) that MongoDB seems to be growing
>>>>> while
>>>>> Cassandra is dying off. Is this the case?
>>>>>
>>>>> Thanks for the help
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>> Well my initial use case would be to store our search logs and perform
> some ad-hoc querying which I know is a win for Mongo. However I don't think
> I fully understand how to build indexes in Cassandra so maybe its just an
> issue of ignorance. I know going forward though we would be expanding it to
> house our per item translations.
>



--

Reply via email to