What is MongoDB?
The term Mongo comes as a part of the word humongous , which means as huge and gigantic.
Technically mongodb comes under the category of the databases called NOSQL which has been gaining lot of popularity in the recent times due to advance in Big data and other unstuctured database paradigms.
Why MongoDB?
The recent growth of these NOSQL databases is due to the data explosion and the inefficiency of the structured databases to hold the dynamic and unstuctured data.
When people designed MYSQL(around 20-30 yrs back), data storage was a issue and therefore the databases were built around that aspect.
But that is not the case now, where we have Terabytes of data cheaply and so, these modern databases are now focused on *performance*.
so, what aspects are under this performance?
1. Dynamic schema: In structured databases, if we were to add a column to a already existing database, we would have to do it by a very costly ALTER command, which is both time consuming and painstaking.
For designing a MYSQL database we would need the architects to discuss at length, considering all the possibilities, and then proceed. But this is not suitable for the modern Agile development models where we keep updating as per the requirement
2. Data duplication: As i have mentioned earlier that structured databases have been designed for least data space, data duplication is not seen. This means that the data is stored at a centralized location and everyone has to access from the same. There is always a chance for data corruption or data loss in any system, which is a risky game
But in MongoDB there is option for data duplication, i.e same data is stored at various data centres
3. Access Speed: The access time for Mongo is many times faster than MYSQL, since in the later data has to be accessed from many tables by joining them.
Does this mean MongoDB can completely replace structured databases?
There is a tradeoff for all the better features provided and that is
There is NO rollback and other TCL(transaction control) commands as in MYSQL. So if your queries include many transactions at a time, it is better to use MYSQL
now lets get started with working of mongodb!!!
installing MongoDB
The term Mongo comes as a part of the word humongous , which means as huge and gigantic.
Technically mongodb comes under the category of the databases called NOSQL which has been gaining lot of popularity in the recent times due to advance in Big data and other unstuctured database paradigms.
Why MongoDB?
The recent growth of these NOSQL databases is due to the data explosion and the inefficiency of the structured databases to hold the dynamic and unstuctured data.
When people designed MYSQL(around 20-30 yrs back), data storage was a issue and therefore the databases were built around that aspect.
But that is not the case now, where we have Terabytes of data cheaply and so, these modern databases are now focused on *performance*.
so, what aspects are under this performance?
1. Dynamic schema: In structured databases, if we were to add a column to a already existing database, we would have to do it by a very costly ALTER command, which is both time consuming and painstaking.
For designing a MYSQL database we would need the architects to discuss at length, considering all the possibilities, and then proceed. But this is not suitable for the modern Agile development models where we keep updating as per the requirement
2. Data duplication: As i have mentioned earlier that structured databases have been designed for least data space, data duplication is not seen. This means that the data is stored at a centralized location and everyone has to access from the same. There is always a chance for data corruption or data loss in any system, which is a risky game
But in MongoDB there is option for data duplication, i.e same data is stored at various data centres
3. Access Speed: The access time for Mongo is many times faster than MYSQL, since in the later data has to be accessed from many tables by joining them.
Does this mean MongoDB can completely replace structured databases?
There is a tradeoff for all the better features provided and that is
There is NO rollback and other TCL(transaction control) commands as in MYSQL. So if your queries include many transactions at a time, it is better to use MYSQL
now lets get started with working of mongodb!!!
installing MongoDB
kaka
ReplyDeleteThanks macha
Delete