I’m new person in “Mongo World”.
I knowledge about mongoDB is very pure, but now I have very big project which DB should be MongoDB.
In all my work experience I mainly worked with MySql so when I need to architect a Database I’m thinking about relational DB. And I architect a DB structure.
But now I have vary big problem I need to crate STRONG DB structure with many tables with relations and the problem is that that I should do It by mongoDB.
Can someone help me with this?
Thanks that here me so long!))
Hello @Davit_Avagyan welcome to the community!
It is great that I want to utilize the strong features of MongoDB. As you mention you have a solid SQL background. To get the most out of an noSQL Setup, you need to change the way of thinking about schema design. Your first goal will no longer be to get the maximal normalized Schema, Denormalization is not bad, the requirement of your queries will drive your design. The story will start to think about a good schema design. In case you move the SQL normalized Data Model 1:1 to MongoDB you will not have much fun or benefit.
You can find further information on the Transitioning from Relational Databases to MongoDB in the linked blog post. Please note also the links at the bottom of this post, and the referenced migration guide .
Since you are new to MongoDB and noSQL I highly recommend to take some of great and free classes from the MongoDB Univerity:
- M001: MongoDB Basics
- M103: Basic Cluster Administration
- M201: MongoDB Performance
- M320: Data Modeling
This is just a sample which can get you started very well. In case this is going to be a mission critical project
I’d recommend getting Professional Advice to plan a deployment There are many considerations, and an experienced consultant can provide better advice with a more holistic understanding of your requirements. Some decisions affecting scalability (such as shard key selection) are more difficult to course correct once you have a significant amount of production data.
Hope this helps to start, while getting familiar and all time after, feel free to ask you questions here - we will try to help.
Thank you for your replay and the information that you provide me.
I hope that it will not be so difficult to change “relations” to “not relations”, because as I understand the first thing to learn MongoDB is that that you should forget everything about relational DB and start everything from beginning .
I think the better is to think in your application entities and create your collections and documents based on that.
Having your entities mapped to your objects will make your development faster.
I will recommend reviewing the following blog series:
Thanks a lot for your attantion on my topic and for provided info. I’ll have a look on it too.
Thank you for the feedback. MongoDB is fun to work with and very productive… Hope you’ll get the best out of our technology
Guys I have one more question too.
Is the MongoDB and Realm Database are the same?
If no what is the difference?
Thanks a lot.