Well, currently I am into the third week of mongodb node course
"M101JS: MongoDB for Node.js Developers" and I am pretty
enjoying it.
Lots of personal learning into node and mongodb.
The third week subject of "Patterns, Case Studies &
Tradeoffs" is really interesting.
Here is a list of topics, I learned about:
- Mongodb rich documents concept.
- Mongodb schema use cases.
- Mongodb one:one, one:many, many:many use cases.
- How to select schema based on the usage like whether you want
max performance
or it may be a tradeoff.
One important point, I learned during the course is:
"While relational databases usually go for the normalised 3rd
form so that data usage is agnostic to application, but mongodb
schema arrangement is very closely related to application usage
and varies accordingly."
What is the difference you might say, well in the title very little but in the content the difference is massive.
If you need to download lots of different versions of mysql for testing (like myself and many others) then you’ll need the former. If on the other hand you just care about the latest version and nothing more, then the latter is fine!
The Problem
Developers often need to have a development database copy of the live production system you are using in able to allow them to test their code and to test new functionality and make schema changes to the database for this new functionality to work.
That’s normal and happens everywhere. A typical DBA task is to make a copy of the live system, sometimes to remove any confidential or sensitive information which perhaps the development database users should not be able to see, and then give them access to this development instance. The developers then “hack away”, changing their code and perhaps things in the database until they are ready to put these new changes into production when they then come along and discuss how to apply these changes into the live systems.
Once the development database has been created it soon becomes stale so often the developers want a new up to date copy …
[Read more]