I have a Mongo task in front of me

  • Thread starter Borg
  • Start date
In summary: Mongo is a great option. If you're looking for a database that's easy to use and straightforward, relational databases may be a better choice. 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.
  • #1
Borg
Science Advisor
Gold Member
2,179
4,223
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
  • #2
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:
  • #3
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...
 
  • #4
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.
 
  • #5
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 1 person
  • #6
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.
 
  • #7
  • Like
Likes 1 person
  • #8
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!
 

1. What is a Mongo task?

A Mongo task refers to a task or project that involves working with MongoDB, a popular NoSQL database system. This may include tasks such as querying data, creating collections, or performing data analysis.

2. Why is MongoDB used for tasks?

MongoDB is used for tasks because it offers a flexible and scalable solution for storing and managing large amounts of data. It also allows for faster query speeds and easier integration with other programming languages.

3. What skills are needed for completing a Mongo task?

To complete a Mongo task, one needs to have a strong understanding of MongoDB's data model and query language. Knowledge of programming languages such as JavaScript, Python, or Java is also helpful for working with MongoDB.

4. How long does it take to complete a Mongo task?

The time it takes to complete a Mongo task can vary depending on the complexity of the task and the skill level of the person working on it. Generally, it can take a few hours to a few days to complete a Mongo task.

5. Is there any specific software or tools needed for working on a Mongo task?

Yes, to work on a Mongo task, you will need to have MongoDB installed on your computer. Additionally, you may need to use a text editor or an integrated development environment (IDE) for writing code to interact with the database.

Similar threads

  • Programming and Computer Science
Replies
11
Views
1K
  • Programming and Computer Science
Replies
10
Views
2K
  • Programming and Computer Science
Replies
4
Views
980
Replies
7
Views
624
  • Programming and Computer Science
Replies
1
Views
2K
Replies
13
Views
2K
  • STEM Career Guidance
Replies
3
Views
1K
  • Programming and Computer Science
Replies
11
Views
2K
  • STEM Academic Advising
Replies
1
Views
697
Replies
2
Views
705
Back
Top