Reprinted: http://leongfans.iteye.com/blog/1019383
I searched MongoDB information yesterday and introduced a lot of applications, but not many principles.
After a rough look, the two design ideas are similar in general. They mainly distribute data by dividing intervals and split data by background processes.
The differences between the two are as follows:
1. hbase depends on HDFS. MongoDB is directly stored on a local disk.
2. hbase stores data in different files according to the column family. MongoDB does not list data, and the entire document is stored in one (or a group of) files. Each file has a common one. NS file storage namespace (the difference between column-based and document-based should refer to this place)
3. hbase a region only has one hregionserver to provide external services (without the concept of Server Load balancer). MongoDB's shards (similar to Region) Support Server Load balancer (master-slave structure, log synchronization, this hbase is also under development plan)
4. hbase controls region split Based on the file size. MongoDB determines shards Split Based on the load (without in-depth research, I do not know how to split Based on the load)
MongoDB introduction:
Http://www.mongodb.org/
Http://www.slideshare.net/mdirolf/inside-mongodb-the-internals-of-an-opensource-database
Http://www.ningoo.net/html/2011/mongodb_in_a_nutshell_1.html
Blog of http://blog.csdn.net/daizhj cool man