I have a Mongo task in front of me

  • Thread starter Thread starter Borg
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around the challenges and insights related to working with MongoDB, particularly for participants who are transitioning from relational databases. The scope includes conceptual understanding, practical applications, and the implications of using a NoSQL database for analytics and data management.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • Some participants express that MongoDB is significantly different from relational databases, particularly in how it handles data and analytics.
  • One participant mentions the complexity of the project, indicating that user requirements will involve both predefined and fine-grained settings, similar to relational databases.
  • There is a discussion about Mongo collections being analogous to tables and Mongo documents to records, which serves as a foundational understanding for one participant.
  • Concerns are raised about the challenges of performing joins in a clustered environment, as data may be distributed across multiple servers.
  • ACID properties are noted to be limited outside of documents in MongoDB, leading to considerations of denormalized data structures.
  • One participant shares their experience with programmatic pseudo-joins in relational databases, suggesting they may apply similar strategies in MongoDB.
  • A suggestion is made to explore resources on NoSQL databases for further understanding.

Areas of Agreement / Disagreement

Participants express varying degrees of familiarity and comfort with MongoDB, and while there is some consensus on its differences from relational databases, the discussion remains unresolved regarding the best approaches to handle specific use cases and data relationships.

Contextual Notes

Participants note the potential complexity of the project and the need to adapt their thinking from relational to NoSQL paradigms, highlighting the importance of understanding data relationships and transaction properties in a clustered environment.

Who May Find This Useful

This discussion may be useful for individuals transitioning from relational databases to NoSQL systems, particularly those working on projects involving MongoDB and seeking insights on data management and analytics challenges.

Borg
Science Advisor
Gold Member
Messages
2,370
Reaction score
5,176
My latest project at work involves working with Mongo DB. It is unlike any database that I have ever dealt with in the past. I am just starting to teach myself how it works and I'm wondering if anyone has any insight, hints, gotchas, or other information that might help me better understand Mongo.
 
Technology news on Phys.org
Borg said:
My latest project at work involves working with Mongo DB. It is unlike any database that I have ever dealt with in the past. I am just starting to teach myself how it works and I'm wondering if anyone has any insight, hints, gotchas, or other information that might help me better understand Mongo.

Bet someone is about to do some business intelligence work. And if I'm right, congrats on becoming BI curious =P

And yes its quit a bit different from relational. Basically, the thing to keep in mind is the needs of analytics influences the way things are done in mongo. In other words, how to deal with lots of data.
 
Last edited:
SixNein said:
Bet someone is about to do some business intelligence work. And if I'm right, congrats on becoming BI curious =P

And yes its quit a bit different from relational. Basically, the thing to keep in mind is the needs of analytics influences the way things are done in mongo. In other words, how to deal with lots of data.
I wouldn't say that I'm business intelligence curious - just want to do the task that I've been assigned to the best of my ability. I'm not sure what to think of the statement "needs of analytics influences the way things are done in mongo". We're still flushing out the use cases but from what I've seen in meetings, it's going to be complex as hell. The user wants it all from predefined through fine grained settings to letting the users query like they did via relational databases.

The best pointer that I've gotten so far is that Mongo collections are like tables and Mongo documents are like records in the tables. That's my starting point. I need to figure out what I can do in Mongo like I did in a relational DB (and how to do it), what I can't do in Mongo, and what I need to completely change my thinking on. I will be lost for a while...
 
It is interesting how "database" has become practically synonymous with "relational database". I think the trend started in mid-eighties. Initially it was all good, but eventually things got ugly, to the point that "peer pressure" pretty much became mandating that all data must be persisted in a relational database, period. I like seeing that trend reversed.
 
Borg said:
I wouldn't say that I'm business intelligence curious - just want to do the task that I've been assigned to the best of my ability. I'm not sure what to think of the statement "needs of analytics influences the way things are done in mongo". We're still flushing out the use cases but from what I've seen in meetings, it's going to be complex as hell. The user wants it all from predefined through fine grained settings to letting the users query like they did via relational databases.

The best pointer that I've gotten so far is that Mongo collections are like tables and Mongo documents are like records in the tables. That's my starting point. I need to figure out what I can do in Mongo like I did in a relational DB (and how to do it), what I can't do in Mongo, and what I need to completely change my thinking on. I will be lost for a while...

To put the above in a different way, it's a database designed for clusters. Outside of replication, relational databases are really geared for vertical approaches. So a join on a relational database is straight forward, but on a cluster it's not straight forward at all. The data needed for the join may be spread out over other servers.

So acid is simply not there outside of documents. Think denormalized data.
 
Last edited:
  • Like
Likes   Reactions: 1 person
SixNein said:
To put the above in a different way, it's a database designed for clusters. Outside of replication, relational databases are really geared for vertical approaches. So a join on a relational database is straight forward, but on a cluster it's not straight forward at all. The data needed for the join may be spread out over other servers.

So acid is simply not there outside of documents. Think denormalized data.
Thanks. I need to keep in mind that the data will likely be clustered. I guess that I'll have to handle all data relationships programmatically. I've had several projects where we've had to perform programmatic pseudo-joins on two different relational databases so I think I can handle that.
SixNein said:
So acid is simply not there outside of documents. Think denormalized data.
ACID
(Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably.
I'll have to look into how big of a requirement this might be for the project.
 
  • Like
Likes   Reactions: 1 person
harborsparrow said:
It's probably too late to be of help to you but...

http://en.citizendium.org/wiki/Nosql might be of help, as well as other articles about the topic "NoSQL"
Not too late at all. Thanks!
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 13 ·
Replies
13
Views
6K