On 18/10/14 07:14, David Stainton wrote:
Hi.
Hi
I don't think Mongodb would not be a good choice because of the reasons you listed: 1. distributed - No Mongodb is not distributed... at all. All writes must be performed on the master node... and then and then they are serialized before being replicated to slave nodes. 2. scales - No Mongodb does not scale. (i shouldn't have to explain why because... see #1)
To be honest, at the time i wrote the email i knew that mongoDB provided sharding which should provide horizontal scaling but at the time i didn't know how it worked in mongodb, because i hadn't time to dig through the docs. Now, after learning a bit more about mongodb i still don't know if i know :) but i agree with you, this is not distributed. So, i think we should index the reports to provide a query API, this still applies, but, should we build a distributed datastore that will fit with every deployed collector? or a central respository that grabs the reports of the collectors and index them? should we care at all?
Furthermore, Mongodb has nested-hash-like column family schemas which absolutely does not support arbitrarily complex queries that you did not conceive of at the time the schema was created. Therefore when using Mongodb and other NoSQL datastores you really
have to be aware of the types
of query patterns you are likely to use before creating the schema.
Sincerely,
David Stainton
ciao