PMXBOT Log file Viewer

Help | Karma | Search:

#mongodb logs for Friday the 5th of October, 2012

(Back to #mongodb overview) (Back to channel listing) (Animate logs)
[00:06:46] <quazimodo> hrm now i cant decide which to go with
[00:06:50] <quazimodo> mongomapper or mongoid
[03:33:53] <dbe_> Anyone run into mongo having huge virtual memory (70 gigs on a machine with 8 gig physical) while no queries are running?
[03:37:41] <jmar777> dbe_: that's pretty normal. mongo does memory mapping for just about everything, so your virtual size includes any and all opened data files (+ some miscellaneous stuff)
[03:39:58] <dbe_> jmar777: So..if my database is 30gigs..then the 70gigs is probably indices etc?
[03:42:45] <jmar777> dbe_: you'll have to ask someone more knowledgeable on the specifics of what's in there. but i would suspect that that's true. the raw data, indexes, and journal are probably the biggest culprits
[06:18:52] <rh1n0> greetings, im working with a mongodb replica set. each node is a separate server that contains a full data set. 3 nodes, no shards, no arbiter. Do you need to configure some form of load balancer to detect when the node your application is using goes down? or does the application adapter handle this for you?
[06:22:23] <Oddman> rh1n0, I thought you were meant to configure your application to use all of them
[06:22:27] <Oddman> and mongo handles where the request goes
[06:22:49] <Oddman> I could be completely wrong, however - I'm not too educated on that part of mongo, just based on the small info I've read
[06:24:02] <rh1n0> we are using mongoid with rails. We do have the replica set configured in the configuration. In my experience (not with nosql) using regular application clusters we used hearbeat to detect failover and haproxy to balance the traffic. Im trying to understand how this scenario works with mongodb.
[06:24:40] <rh1n0> im having one heck of a time getting all three nodes to be recognized as part of the replica set
[06:24:47] <Oddman> hmmm
[06:25:04] <Oddman> you probably know a fair bit more than me, then
[06:25:15] <Oddman> I assume you've read the replication docs?
[06:25:18] <rh1n0> thats a different problem though, my real question was about having some shared vip or something.
[06:25:30] <rh1n0> yeah im reading them now - lots of docs :) all good though
[06:25:33] <Oddman> heh
[06:25:39] <Oddman> it's something I'll need to address pretty soon
[06:25:46] <Oddman> so any gotchas you find out I'd love to hear about
[06:25:48] <rh1n0> "See one, Do one, Teach one"
[06:25:53] <Oddman> :P
[06:25:55] <rh1n0> heh sure
[06:25:58] <rh1n0> you using rails ?
[06:26:05] <Oddman> nope, moved away from rails a while ago :)
[06:26:11] <Oddman> 3.x releases shat to me to tears
[06:26:50] <rh1n0> yeah they love to make lots of changes in short time periods. I still love ruby/rails though. :)
[06:27:00] <Oddman> it wasn't really that
[06:27:11] <Oddman> it was more the performance problems we had thanks to the ruby 1.9.2 update
[06:27:16] <rh1n0> i live 2 lives, one as a developer, one as a cloud engr
[06:27:17] <Oddman> also we had major deployment issues with 3.x
[06:27:24] <rh1n0> capistrano?
[06:27:28] <Oddman> yeah
[06:27:31] <rh1n0> i hate capistrano
[06:27:39] <Oddman> we hadn't had any problems until 3.x
[06:27:52] <rh1n0> Ive been looking at whiskey_disk - super fast, uses bash scripts.
[06:27:56] <Oddman> and it was only some environments, so it wasn an environment issue
[06:28:07] <rh1n0> the ASSet pipeline perhaps? ;)
[06:28:13] <Oddman> bingo.
[06:28:22] <rh1n0> that caused many people pain and agony
[06:28:26] <Oddman> yup
[06:28:28] <Oddman> it wasn't done very well
[06:28:40] <rh1n0> i have buddies that refuse to enable it
[06:28:48] <Oddman> yeah we had to go that route eventually
[06:28:48] <rh1n0> cant blame them
[06:29:16] <Oddman> am on the node camp now
[06:29:36] <Oddman> and tbh it's nice to be on a framework that doesn't enforce a one-size-fits-all approach
[06:29:40] <Oddman> which admittedly I could have used sinatra for :P
[06:29:49] <rh1n0> i like node.js - want to do more with it.
[06:29:55] <Oddman> yeah I'm a huge fan
[06:30:00] <Oddman> I've done some small utilities in it so far
[06:30:00] <rh1n0> i had to monkey patch a lot of areas in the rails config to work with the asset pipeline because at that time compass wasnt ready for it.
[06:30:14] <Oddman> the m and p words... ouch
[06:30:15] <Oddman> haha
[06:30:30] <Oddman> tbh I love ruby
[06:30:35] <Oddman> but I haven't liked rails since 2.3
[06:30:57] <Oddman> everything they put in rails 3, apart from the decoupling, should have been kept as a gem
[06:31:10] <rh1n0> yeah ruby is the primary reason im still using rails. I started out using ruby for non-rails work. Recently ive been heavy with chef and automation. Its awesome
[06:31:17] <Oddman> :)
[06:32:17] <rh1n0> there's always erlang :)
[06:32:33] <Oddman> haha
[06:32:34] <[1]anand> getting problems with mongodb driver when used with apache 2.0 and php 5.2
[06:32:41] <Oddman> na I'll stick to a language I know :)
[06:32:41] <rh1n0> i was a j2ee engr for 7 years before finally bailing out and switching to rails
[06:33:02] <[1]anand> too many segfaults
[06:33:23] <[1]anand> Program received signal SIGSEGV, Segmentation fault.
[06:33:23] <[1]anand> [Switching to Thread 184241072 (LWP 950)]
[06:33:23] <[1]anand> mongo_util_pool__stack_pop (monitor=0xb6ac5270, server=0xafb3e20, tsrm_ls=0xb545e360) at /usr/local/src/mongo-1.2.12/util/pool.c:256
[06:33:23] <[1]anand> 256 monitor->top = node->next;
[06:33:28] <rh1n0> wish i could help but im too green and havent worked with php in a long time
[06:34:05] <rh1n0> http://stackoverflow.com/questions/10526033/php-dies-when-doctrine-mongodb-odm-performs-successful-file-query
[06:34:14] <rh1n0> maybe thats related?
[06:35:00] <rh1n0> there any good web dashboards for monitoring mongodb (better than the builtin?)
[06:35:10] <[1]anand> like
[06:35:12] <Oddman> rh1n0, not sure
[06:35:21] <[1]anand> can u suggest one
[06:36:23] <[1]anand> has 10gen released any paid versions to fix this issues in past
[06:36:57] <rh1n0> i have no idea - i was just searching for mongodb apache2 and php
[06:37:24] <Oddman> it's not a 10gen issue
[06:37:28] <Oddman> it's a mongo driver issue I'm pretty sure
[06:37:32] <Oddman> you should try updating PHP
[06:37:45] <Oddman> that would be my first go
[06:37:52] <Oddman> you're at least 2 versions behind :P
[06:38:03] <Oddman> I run on 5.3.3 and had zero issues with the driver
[06:38:55] <rh1n0> i did find a nice little mongodb client for osx called MongoHub
[06:42:07] <rh1n0> ever seen errors about another member of the replica set having a newer version of the config and "cannot change config" wtf
[06:42:36] <rh1n0> ill google
[06:45:47] <rh1n0> found it
[06:45:47] <rh1n0> http://www.mongodb.org/display/DOCS/Durability+and+Repair
[07:49:37] <[AD]Turbo> hola
[08:55:51] <[1]anand> tried new php versions but still struggling with segfaults
[08:56:11] <[1]anand> some serious issues with mongo-php connector
[09:01:33] <NodeX> can you explain the issues and perhaps we can help
[09:19:45] <sat2050> hi
[09:19:58] <sat2050> I have run into a small problem while configuring an arbiter
[09:20:12] <sat2050> my primary steps to secondary
[09:20:21] <sat2050> when i switch on the arbiter
[10:25:15] <Lujeni> Hello - My mongoS log is flooded by this message (http://pastebin.com/FXhJGEkc) it's normal ? Thx
[11:50:08] <bagvendt> Hi guys, i have been struggling with this mapReduce problem for quite some time now. Any help would greatly appreciated. My input and wanted output is --> http://pastebin.com/V3rpqYDA
[11:51:37] <bagvendt> Corrected some errors. Newest version -> http://pastebin.com/wk4xRDaX
[12:04:23] <bagvendt> Stackoverflow question here -> http://stackoverflow.com/questions/12745860/pivoting-data-in-mongodb
[12:21:51] <gheegh> hey all.. wanted an opinion.. I've got a single server and I'm about to add a second server to it for Mongo.. (and double the ram on both). We have a lot of batch processing that is pretty intensive on Mongo.. then we have a lot of occasional access/use. I'm wondering if anyone has opinions on whether to set the servers up as master/slave or to shard and split the tables onto different servers?
[13:04:35] <Carko> hi
[13:09:14] <Carko> I'm having some trouble with the C# driver an LINQ when trying to use the Contains method - here's the simple example code and exception I get: http://pastie.org/4914659
[13:09:25] <Carko> any ideas how to do this?
[13:15:46] <mrpro> thats terrible
[13:38:36] <estebistec> I think I know the answer, but just in case I'm missing something, is there a way to add a keyFile to a live replicaset and avoid the downtime?
[13:46:57] <stiang> Is it possible to create a query that matches one piece of the document against another part? I have a 'messages' collection, where each message has a 'replies' field (containing an array of reply documents), and an 'opened_by' field (containing an array of {user_id: …, last_opened: …} objects). I am trying to construct a query that will find all messages with new replies since the time in last_opened for a given user. Is that possible?
[13:49:09] <aster1sk> I have a serious problem with this model.
[13:49:18] <aster1sk> http://stats.dev.riboflav.in/
[13:50:00] <aster1sk> We're write heavy, which is why for example g.CA.v : 1 is used (meaning the name in the key)
[13:50:48] <aster1sk> So either I get greate write performance and terrible read, or great read and terrible write... there's no tradeoff.
[13:51:10] <NodeX> how large are the objetcs
[13:51:19] <aster1sk> Did you see the URL?
[13:51:25] <NodeX> do your indexes fit in Ram?
[13:51:35] <aster1sk> Not sure yet...
[13:51:54] <NodeX> how are you querying your objects for "poor performance"
[13:52:14] <aster1sk> NodeX: I'm using the aggregate framework.
[13:52:28] <NodeX> how many documents is it querying?
[13:52:32] <aster1sk> NodeX: since I can't aggregate on unknown keys, I have to post process.
[13:52:39] <quazimodo> I just noticed, mongodb's versioning doesnt do diff's does it, it takes snapshots
[13:52:43] <aster1sk> Well currently we have 600 Million raw events in SQL
[13:52:58] <NodeX> you're aggregating 6
[13:53:01] <aster1sk> Which I'll have to migrate to this model (which took a month of design)
[13:53:03] <NodeX> 600M docs ?
[13:53:19] <aster1sk> Nahh, there are 600 M rows in our existing aggregate table... it's terrible.
[13:53:36] <NodeX> so how many are you querying to get the poor performance
[13:53:37] <aster1sk> With this model it will be substantially smaller.
[13:53:57] <aster1sk> $group : { } $match { }
[13:54:04] <aster1sk> $project {}
[13:54:09] <NodeX> how many documetns are in the collection
[13:54:33] <aster1sk> Like I said I don't quite know yet.. it's test data -- the problem isn't mongo, it's my model.
[13:54:51] <NodeX> if you don't know how do you know you get poor performance ?
[13:55:16] <aster1sk> Because with this model I have to heavily post-process the results from mongo.
[13:55:26] <aster1sk> I can't $group / $sum / $match on unknown keys.
[13:56:09] <aster1sk> For example be.1.v -- I'll have no idea what the secend level key is, it's actually the mysql id of the object.
[13:56:33] <NodeX> I dont understand how you expect us to help without these things and certainly without the pipeline
[13:56:51] <NodeX> unless I missed somithing I have only just joined
[13:56:54] <aster1sk> NodeX: what do you need specifically?
[13:57:01] <aster1sk> Ahh NodeX did you go here http://stats.dev.riboflav.in/
[13:57:14] <NodeX> [14:46:59] * Goopyo (~parham@pool-108-28-144-143.washdc.fios.verizon.net) has joined #mongodb
[13:57:14] <NodeX> [14:47:17] <aster1sk> I have a serious problem with this model.
[13:57:19] <NodeX> that's the first bit I got
[13:57:31] <Goopyo> whats up?
[13:57:40] <aster1sk> Ahh perhaps IRC is blocking my url...
[13:57:53] <aster1sk> stats <dot> dev <dot> riboflav <dot> in
[13:58:10] <NodeX> I saw yor var_dump
[13:58:13] <NodeX> your*
[13:58:23] <aster1sk> OK good, just making sure you see the model I'm dealing with.
[13:58:28] <NodeX> it means nothing to me without the pipeline and an explination of what you're trying to do
[13:58:35] <aster1sk> Ahh so sorry.
[13:59:08] <NodeX> lol
[13:59:09] <aster1sk> I'm trying to aggregate the $v keys across a date span. There will be one document per $issue per $date (day)
[13:59:45] <dorzey> hello. mongo newbie here. is there anybody you can answer a quick question about the mongodb java driver?
[14:00:06] <NodeX> $date being "d" ?
[14:00:23] <aster1sk> Yeah, shortened keys sucks.
[14:00:28] <aster1sk> for debugging that is.
[14:00:45] <NodeX> oki, I do somehting similar for affiliate campaigns / affiliates
[14:00:50] <NodeX> perhaps it fits your model ?
[14:01:12] <aster1sk> Perhaps, it's really just aggregating sub documents with unknown keys which is the problem.
[14:01:34] <NodeX> I count things by campaign id (issue) on date ("d")
[14:01:48] <aster1sk> Excellent, yeah I have no problem doing that.
[14:01:55] <aster1sk> The aggregate framework is perfect for that.
[14:02:01] <NodeX> I know all my keys , can't you make your keys values ?
[14:02:14] <aster1sk> Sure, but that's where it gets hairy
[14:02:25] <NodeX> the way I go about it is to start with a list of cid's (issues) and a date and loop it
[14:02:38] <aster1sk> As it's write heavy and you can't upsert a positional operator I'd require two queries on a write heavy db.
[14:03:01] <aster1sk> Not to mention we have read preference across our replica set, so it would be reading from the slave that may or may not have synced yet.
[14:03:06] <NodeX> I aggregate everything with todays date and cid etc and pull that into an upsert in another collection
[14:03:24] <NodeX> I also chop my data up and do it every ten minutes
[14:03:47] <NodeX> I keep my collections small as performance degrades heavily after about 1M docs (for me)
[14:03:53] <aster1sk> Not sure I can partition that way, there'd be far too much redundancy and we've a lot of users.
[14:04:21] <NodeX> I aggreghate a history collection (a log of every action on the whole sevrer)
[14:04:35] <NodeX> I am sure it's larger than yor user collection lol
[14:04:42] <aster1sk> Don't think we have the hardware to support that kind of throughput.
[14:04:57] <NodeX> I understand you cant drop users, how are you sharded ?
[14:05:03] <aster1sk> I'm not yet.
[14:05:10] <aster1sk> I have to work out this issue first.
[14:05:31] <NodeX> sharding might solve the issue because it will distribute the writes/reads
[14:06:07] <NodeX> are the keys variable or can they be capped
[14:06:13] <NodeX> a,b,c,d,e,f.... etc
[14:06:16] <aster1sk> I've floating master / slave only (backup) / floating slave for replica sets, 16 GB memory on dual quad xeons.
[14:06:32] <aster1sk> The keys like i,d,dl,pr,v,g are static.
[14:06:39] <aster1sk> But the "CA" could be any country code.
[14:06:52] <aster1sk> And the "Desktop" can be mobile, tablet etc.
[14:07:11] <aster1sk> There is a 'u' key there both under issues and under pages that is variable.
[14:08:28] <aster1sk> As with p.s (social) could be facebook, twitter etc...
[14:10:25] <aster1sk> amidoingitrite?
[14:35:50] <NodeX> sorry
[14:35:53] <NodeX> phone call!!
[14:36:08] <aster1sk> No problem. In the meantime I began populating the methods down the side.
[14:36:27] <NodeX> if "u" is just a variable can't you just $project the whole array
[14:36:41] <aster1sk> That's actually a very good idea.
[14:36:41] <NodeX> rather than unwinding
[14:36:45] <aster1sk> I haven't thought about that.
[14:36:53] <NodeX> then you can name everything
[14:37:07] <NodeX> if you need to unwind it you can put it in a temp collection and aggregate that
[14:37:11] <NodeX> or perhaps have a counter for it
[14:38:03] <aster1sk> OK I'm going to finish up these methods and then consider writing the read methods.
[14:38:17] <aster1sk> I think I'll have to stick with this model (CTO signed off on it)
[14:38:27] <NodeX> :/
[14:38:35] <aster1sk> I'm not upset about writes actually, and that's where this app really needs to function well.
[14:38:53] <aster1sk> Meh it's not that bad, it's just post-processing the results in the read methods.
[14:39:02] <aster1sk> Which isn't bad (though I'm stuck with PHP)
[14:39:43] <NodeX> nothing wrong with php l;ol
[14:40:46] <aster1sk> There is with a mangled spaghetti CakePHP
[14:41:18] <NodeX> eww
[14:41:22] <aster1sk> Eww indeed
[14:45:09] <aster1sk> OK all of the issue level methods are sorted out, time for page level, then reading.
[14:45:46] <hariom> Hi guys, I am new to MongoDB. My requirements is I want to store RDF Triples with support for Sparql query lanaguage. Is there any libarary that can work with MongoDB as triple store?
[15:20:49] <coalado> is it normal that a pretty simple map/reduce call over ~ 400 000 objects takes minutes?
[15:36:27] <wereHamster> coalado: m/r is not the fastest.
[15:36:52] <Lujeni> Hello - My mongoS log is flooded by this message (http://pastebin.com/FXhJGEkc) it's normal ? Thx
[15:37:24] <coalado> wereHamster: but almost a minute for a mapreduce... this is too far away from fast
[15:38:23] <hariom> Hi guys, I am new to MongoDB. My requirements is I want to store RDF Triples with support for Sparql query lanaguage. Is there any libarary that can work with MongoDB as triple store?
[15:38:36] <wereHamster> 400k/minute ~= 6k/second. You should know that m/r calls a javascript funciton for each map and reduce step. That alone is a fair amount of overhead
[15:38:54] <ppetermann> hariom: you are kind of repeating yourself ;)
[15:47:42] <hariom> ppetermann: Many new members joined, many old left; Do you know the answer?
[15:56:28] <ppetermann> hariom: rdf by its standard is either xml or notation3 snipped, if you store it in mongo you either store a string, which makes it hard to search by sparql, or you store it in a document, however you have to parse and build the document from it then. as for sparql you would have to write and adapter that reads sparql and converts it to the right finds
[15:58:34] <hariom> ppetermann: correct. Is there any library alerady written which provides support for this?
[15:59:24] <ppetermann> hariom: if there is then google might be the best place to look for it, but i highly doubt it
[16:00:05] <ppetermann> actually, my first hit on google for you is: http://www.infoq.com/news/2011/12/mongograph-qa
[16:00:23] <ppetermann> http://www.dotnetrdf.org/blogitem.asp?blogID=35
[16:00:51] <ppetermann> http://stackoverflow.com/questions/2063285/usage-of-mongodb-as-a-rdfstore-for-data-objects
[16:01:03] <ppetermann> http://www.franz.com/agraph/support/documentation/4.7/mongo-interface.html
[16:01:12] <ppetermann> so there are tons of hits for people having looked into that
[16:08:44] <eka> hi all... how to config in the conf file to only log errors ?
[16:11:40] <leehambley> is there any way to block an insert ? Without resorting to polling until the doc is there?
[16:11:51] <leehambley> I know that's not the typical use-case for mongodb, but that's what I'm going with
[16:13:48] <joshua> eka: it looks like you can do it in mongo itself http://docs.mongodb.org/manual/reference/command/setParameter/
[16:14:14] <eka> joshua: don't want... want in the conf... used quiet = true but still log connections
[16:48:04] <Black_Phoenix> Hiya
[16:48:24] <Black_Phoenix> I just started using MongoDB, can't seem to figure out... if I have documents with tags, I need to find all documents which contain at least one of the given tags
[16:48:40] <Black_Phoenix> is that possible? not "all of the listed tags" but "either of the listed tags"
[16:49:40] <wereHamster> Black_Phoenix: document: { _id: XXX, tags: ['foo','bar','baz']}
[16:49:59] <wereHamster> search: db.thecollection.find({ tags: 'bar' })
[16:51:31] <Black_Phoenix> wereHamster, I want more than bar
[16:51:38] <Black_Phoenix> I want all documents which contain foo, or bar, or asdf
[16:51:51] <Black_Phoenix> do I query for each tag separately, or I can put that in one query somehow?
[16:52:49] <wereHamster> Black_Phoenix: google 'mongodb queries'
[16:53:24] <Black_Phoenix> hmm
[16:53:35] <Black_Phoenix> there's $or thing, I guess I have to combine queries for each tag
[16:53:41] <_m> le sigh
[16:54:05] <Black_Phoenix> db.thecollection.find({$or : [{ tags: 'bar' },{tags:'foo'}]}) something like that
[16:54:17] <_m> yes.
[16:54:22] <Black_Phoenix> or the $in one
[16:54:28] <Black_Phoenix> let me try the $in one
[16:54:44] <_m> I would familiarize myself with the logic and docs or $in, $and, and $or.
[16:54:57] <Black_Phoenix> that seems to work
[16:55:07] <Black_Phoenix> I wouldn't put the docs for these things all over the place
[16:55:08] <wereHamster> Black_Phoenix: did you actually google? http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24all
[16:55:40] <Black_Phoenix> come on wereHamster, you're not paying attention to my question yourself. $all is an "and" operator, at least works like that for tags as I tested it
[16:55:46] <Black_Phoenix> "$in" is the right one, and it works
[17:00:20] <Black_Phoenix> thanks for help by the way
[17:20:57] <maxamillion> is this chanel alright to ask questions about building mongodb from source (for inclusion in a distro) or is there another irc channel that would be more appropriate?
[17:22:53] <_m> Black_Phoenix: It's obvious you didn't read/test/etc before asking your question. Why expect a response other than "google and read, yo."
[17:25:37] <Black_Phoenix> _m I sure did test $all, I just missed the $in part (I was mostly searching for multikey values, didn't realize that was relevant at first)
[17:25:44] <Black_Phoenix> $all works great, just not the functionality I want
[17:27:02] <phpnode> hi, i'm trying to decide between couchdb and mongo for a new project and I wondered if someone could help me with a few questions?
[17:27:20] <phpnode> I want to store a lot of documents based on different entity types from schema.org, so a document could represent anything from a web application to a movie to a physical location in the world.
[17:27:45] <phpnode> Would this be a problem in mongodb? would I have to create a different collection for each different type defined in the schema?
[17:28:59] <wereHamster> no problem for mongodb
[17:29:18] <phpnode> i could just put them all in the same collection?
[17:29:21] <wereHamster> you can store all in the same collection, or use different collection for each type. Entirely up to you
[17:29:26] <Black_Phoenix> it seems to work rather great for that kind of tasks, at least from what I've tried so far
[17:29:47] <phpnode> wereHamster: is there a performance issue in putting everything in the same collection?
[17:30:36] <Black_Phoenix> do you have a lot of entries or a lot of data?
[17:31:46] <wereHamster> phpnode: of course. The more data the more ram required to keep the index in memory
[17:32:18] <phpnode> Black_Phoenix: truly no idea at the moment, i'm exploring some ideas
[17:32:18] <wereHamster> well. it depends on how you want to query the data.
[17:34:48] <phpnode> since documents will not be shared between users, i could have a different collection per user, presumably
[17:36:13] <wereHamster> only if you have <20k users or so
[17:36:21] <phpnode> right
[17:36:28] <phpnode> ok, looks like i need to consider this carefully then
[17:36:45] <phpnode> perhaps couch is a better choice in this particular case, i'm not sure
[17:37:49] <phpnode> for now i just want somewhere i can put documents, i'm not sure about how i'm going to query the data or how much of it there will be at this stage
[17:46:45] <NodeX> phpnode : can you describe what you think a colleciton is?
[17:47:31] <phpnode> NodeX: i'm extremely new to mongo, but i gather that it is basically a namespace that can have certain indexes
[17:47:46] <NodeX> can you tellk me what ytou think it's the same as in sql?
[17:47:58] <NodeX> tell*
[17:48:25] <phpnode> a table? but the fact you ask that question makes me think that it's more like a view
[17:48:33] <NodeX> not sure what a view is
[17:48:44] <NodeX> collection = table, document = row, db = db
[17:48:53] <phpnode> ok, that's what i thought
[17:48:53] <NodeX> (roughly speaking)
[17:49:07] <NodeX> so would you give each user their own table in an RDBMS?
[17:49:29] <phpnode> no, but i wouldn't be able to store this kind of structure in an RDBMS either
[17:49:35] <phpnode> (easily)
[17:49:45] <NodeX> ok so then you dont need to in Mongo
[17:50:05] <NodeX> add each row (SQL) as a document with it's own defined key to define what it is
[17:50:29] <NodeX> what i mean by that is....
[17:51:06] <NodeX> for whatever reason you thought you wanted to give each user its own collection (presumably a certain type) use that as a key to descrube/define a document
[17:54:06] <phpnode> NodeX: thanks, so i can store different kinds of document within that collection?
[17:59:30] <NodeX> yep
[17:59:43] <NodeX> hence "schemaless" :P
[18:00:04] <NodeX> if one doc has "foo" but the others dont then it just accepts it
[18:00:30] <NodeX> you can think of it as persistent JSON I suppose in real basic terms
[18:02:24] <phpnode> ok cool, thanks for your help
[18:03:18] <NodeX> no probs, good luck :)
[18:12:06] <patroy> Hi, I have a live database and I want to create a replica set, can I make a backup with mongodump or do I need to stop the instance and copy the files over?
[18:23:48] <coopsh> patroy: http://docs.mongodb.org/manual/administration/backups/#database-dump-with-mongodump
[18:24:27] <coopsh> "The mongodump utility can create a dump for an entire server/database/collection […] even when the database is running and active."
[18:24:50] <coopsh> you might be interested in the --oplog option
[18:26:14] <patroy> I read somewhere that only worked for master/slave and not replica-set but they might be wrong
[18:26:22] <patroy> I'll try that for sure thx coopsh!
[18:39:19] <arex\> As I understand it, Replication is using multiple servers for redundancy/failover (same data on all servers) and Sharding is using multiple servers for scaling (data spread out on multiple servers). Do I have that right?
[18:43:10] <kali> arex\: yes. just one thing: replica set can also be used to scale read opereations
[18:43:27] <kali> arex\: just to be more confusing
[18:43:40] <arex\> No, that's awesome. I just finished setting that up in MS SQL
[18:43:45] <arex\> :D
[18:43:57] <arex\> AlwaysOn Availability Groups I think they call it.
[18:44:12] <arex\> With "a readable secondary replica"
[18:44:48] <arex\> Should be fun to learn about essentially the same thing in MongoDB
[18:45:25] <karamorf> I want to get all documents that have the same value for a key. Is this going to be a mapreduce command? (just want to make sure I'm reading the right docs)
[18:45:29] <arex\> Now, I didn't do sharing in MS SQL. Is it unproblematic to use both replication AND sharding?
[18:45:40] <arex\> sharding*
[18:46:15] <kali> arex\: not problem at all. each shard is made of a replica set
[18:47:01] <arex\> kali: Does that suggest it's better for me to learn and implement replication first, then sharding? :)
[18:47:35] <arex\> I mean, can I set up replication, then "add" sharding?
[18:47:51] <arex\> Or is it perhaps a bit more complicated than that :)
[18:49:02] <kali> arex\: it's possible to migrate with no downtime and minimum hassle
[18:49:19] <kali> or no significant downtime
[18:50:15] <arex\> kali: I see. I'm just setting it up in a development environment, so that's not really a concern. I was just wondering which topic to start with / implement first
[18:50:58] <kali> if you're a developper, the biggest challenge is usually model design, as you'll need to unlearn about everything you know
[18:51:16] <arex\> Indeed.
[18:51:51] <kali> if you're a dba/system guy,chances are you'll soon be in love with mongodb :)
[18:52:19] <arex\> I'm both :P First I want to set up replication and sharding, then I want to play with it :-)
[18:52:57] <arex\> Someone suggested I install MongoDB on the SQL servers. That seems like bad idea.
[18:52:57] <kali> start by replication. you'll need this one for sure.
[18:53:04] <arex\> Although I assume it works just as well on Windows.
[18:53:17] <kali> arex\: it does work, but i can't help :)
[18:53:26] <arex\> Hehe
[18:53:46] <arex\> Are there other huge disadvantages like that to using it on Windows? ;)
[18:54:09] <kali> i suggest you don't put two competing database system on a single server. they will compete for memory all the time
[18:54:28] <kali> arex\: no idea
[18:54:37] <arex\> I understand, that's a good point
[18:55:09] <arex\> I should probably deploying a couple of Windows virtual machines then
[18:55:13] <arex\> +start
[18:55:19] <arex\> While I read docs :)
[18:56:11] <arex\> In a vacuum I'd select something else, but everything is M$ where I work ;P
[18:59:04] <arex\> Looking forward to starting a magical adventure in mongo land
[18:59:19] <Black_Phoenix> I have started mine today, and I'm loving it
[19:00:19] <arex\> kali: A two member replica set should be good enough for a development environment? That's what I did for MSSQL (with a shared disk witness)
[19:00:55] <kali> arex\: two is not very good, unless you add an arbiter
[19:01:48] <arex\> kali: I can probably put an arbiter on a web or mssql server :) I don't want to overpopulate the vm cluster either :)
[19:02:29] <kali> arex\: yes, that will be fine
[19:02:52] <kali> arex\: arbiters are just answering pings
[19:02:58] <arex\> Yup
[19:03:13] <arex\> In MSSQL you can use a shared disk or a remote file share
[19:03:24] <arex\> Same concept
[19:04:16] <arex\> In fact, I'd love to set up a machine dedicated to arbitration for both mssql and mongodb, lol
[19:09:47] <arex\> Reading "Adding an Arbiter" in the documentation.. I assume it can be set up as a service?
[19:11:08] <arex\> Perhaps it is an exercise left to the reader :)
[20:40:20] <bhosie> is there a date scheduled for the php driver v1.3.0 to be released?
[20:41:02] <ranman> @Derick probably knows
[20:42:44] <Derick> bhosie: no real schedule - ASAP
[20:44:52] <bhosie> Derick: ok cool. i'm running into this. https://jira.mongodb.org/browse/PHP-484 i'm guessing waiting patiently is the only way to have a replica set and aggregation framework?
[20:54:30] <krispyjala> anybody have any experience converting standalone to sharded?
[21:18:52] <arex\> kali: A couple of questions I don't see immediately mentioned in the docs. 1) Would it be a good idea to have MongoDB logging or data on seperate disks? 2) Should the replica members be able to communicate on a seperate private network?
[22:25:16] <MartinElvar> Evening guys. i have some issue regarding a query, which returns the used where swell.. please have alook here, got code examples http://stackoverflow.com/questions/12754583/mongodb-also-selects-my-where#comment17233408_12754583
[22:27:28] <MartinElvar> I can exclude _id, but players, is still not the root
[22:47:46] <arex\> A couple of questions I don't see immediately mentioned in the docs. 1) Would it be a good idea to have MongoDB logging or data on seperate disks? 2) Should the replica members be able to communicate on a seperate private network?
[22:54:34] <quazimodo> guys if i do db.foo.find() i can find all of foo
[22:54:55] <quazimodo> the problem I'm having is, i dont know what foo is called in the db, nor do i know what other document types may be in the db, how do I check?
[23:00:53] <quazimodo> solved
[23:55:41] <arex\> A couple of questions I don't see immediately mentioned in the docs. 1) Would it be a good idea to have MongoDB logging or data on seperate disks? 2) Should the replica members be able to communicate on a seperate private network?