MongoDB C# setup and size limitations
What's the procedure to set up a distributed MongoDB, and are there any size limitations specific 开发者_运维技巧to C#?
For distributed MongoDB you should read about Sharding which is a very nice feature of MongoDB. In short, Sharding offers:
- Automatic balancing for changes in load and data distribution
- Easy addition of new machines
- Scaling out to one thousand nodes
- No single points of failure
- Automatic failover
MongoDB's memory limits are due to the fact that it memory maps files. On a 32-bit system, you can't address a position in a memory mapped file which requires a number larger than 32 bits to represent.
- The maximum range of a 32-bit signed integer is 2^31-1 positions, or 2 gigabytes.
- The maximum range of a 64-bit signed integer is 2^63-1 positions, or ~9.2 exabytes (9.2 billion gigabytes).
Per Wikipedia "As of May 2009, the size of the World's total Digital content has been roughly estimated to be 500 billion gigabytes, or 500 exabytes." In practicality, you will hit hard drive space limits years before memory addressing limits are of concern. If you want to archive the entire internet on a single shard, you might have problems. :)
精彩评论