Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Kevin Murphy
Kevin Murphy
24,380 Points

Mongo DB / Django? -- Can someone explain in essence what these are and why so prevalent?

I keep coming across these two terms tossed around and was hoping to get a forum perspective on what drives their importance in the web dev community. Is Mongo an alternative to MySql? How important is it to know each as a rounded developer? Thanks.

p.s. - I thought Django was related to Python, so maybe that will be cleared up after working through the Python class...

Hi Kevin,

I believe the initial python course will be on just the language itself. I thought it was mentioned that there would be a follow up course on Django later on.

Kenneth Love would know what the plans are.

Kevin Murphy
Kevin Murphy
24,380 Points

Hi Jason,

OK that sounds good. Would love to see a dedicated course on Django.

I think will make more sense as a whole after gaining experience with Python and Rails. Looking forward to the Python course regardless. Thanks!

1 Answer

Justin Ellingwood
Justin Ellingwood
12,545 Points

If you've heard about Ruby on Rails, which is a framework for quickly getting a web app into production for the Ruby programming language, then Django is a similar thing for Python web apps. It takes a lot of the background processes out of the equation so that you can focus on your specific application instead of all of the things needed to make it web-ready. It takes care of many of the steps necessary to translate your idea to an experience that people can have in their browser.

MongoDB is a database management system that exists in a category called NoSQL databases. While MySQL, PostgreSQL, SQLite3, and other use the SQL querying language to structure records in a relational database, there are other strategies that are useful for other use-cases. MongoDB and many other NoSQL databases were created to excell in some areas that traditional SQL relational databases often fall short. They don't require a pre-planned data schema, use the concept of "documents" instead of tables and records, and can have built-in replication and sharding, which allow you to easily expand your data storage schemes to be highly available and fault tolerant. They are definitely something to look into, but like any other software choice, they are not a catch-all miracle solution. There are trade offs that you should evaluate.

Take a look at these two articles to learn about some of the differences between different SQL and NoSQL solutions.

Kevin Murphy
Kevin Murphy
24,380 Points

Hi Justin,

Thanks a lot for the detailed explanation. I have only dipped my toe in Ruby courses but am aware of the general aspects of Ruby on Rails. The explanation of Django in that context makes sense.

With the limited knowledge I have of MySQL acquired via Wordpress the explanation of Mongo makes sense (on a very basic level) now too. I plan to take the database course in TH and will definitely read the two articles you provided.

Thanks again!