ALL COVERED TOPICS

NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter

NAVIGATE MAIN CATEGORIES

Close

A SO Answer About MongoDB Memory Usage

MongoDB isn’t a write-to-disk application unlike SQL. So it writes to a fsync queue first which actually gets managed by the OS (this is fundamentally NoSQL here to not write straight to disk, “Eventually Consistent”), since MongoDB does no memory management of its own.

The OS itself will then decide when paged in data should be removed using the LRU algorithm: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used

Added ontop of this is that you must load a part of the _id btree each time you insert as well which is ever growing due to insertions. This means that actually if you do mass inserts in a short period of time you could end up loading more of the btree than you need to because the older section of the btree have not been seen as stale yet.

How many “strange” explanations have you counted in the above answer?

Original title and link: A SO Answer About MongoDB Memory Usage (NoSQL database©myNoSQL)

via: http://stackoverflow.com/questions/14134109/mongodb-memory-usage-is-going-high-even-if-only-insertions-are-made