I use PHP/mySQL/CodeIgniter pretty heavily, writing sql statements to handle/manipulate data. I feel doing all that is primitive, and I've heard good things about MongoDB, schema-less database.
In MySQL, schemas helps me figure out the structure of the model. Usually, I draw out a class diagram with basic things like: id, title, description, date
What blows my mind is, MongoDB seems insanely simple, it's hard to grasp where to begin. From what I hear/read, it doesn't have a schema. How do I know what type will it return?
How do I build my models, how do I add relations between different "tables"?
What is the standard way to add relations and map out data? I've tried playing with it, but wasn't sure what I was doing was the correct way.
I've tried reading manuals and such, but couldn't find a good article helping me transition from mySQL to MongoDB.
Is there anyway I could see comparisons of Models with mySQL and MongoDB ? Simple things like CRUD.
How do I start, where do I begin?
Source: Tips4all, CCNA FINAL EXAM
You could start here.
ReplyDeleteHow do I build my models, how do I add relations between different "tables"?
Answer:
A non-relational approach is the best path to database solutions which scale horizontally to > many machines.
Answer:
MongoDB stores data in JSON documents (which we serialize to BSON). JSON provides us a rich data model that seamlessly maps to native programming language types, and since its schema-less, makes it much easier to evolve your data model than with a system with enforced schemas such as a RDBMS.
Check also What is NoSQL, how does it work, and what benefits does it provide?, I need an advice about NoSQL/MongoDb and data/models structure and Converting simple MySQL database to a NoSQL solution