Wednesday, May 9, 2012

I need an introduction to MongoDB/NoSQL Database


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

1 comment:

  1. You could start here.


    How 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

    ReplyDelete