We are currently developping a real-time application that requires a simple and fast no-SQL database, such as Membase.
Our needs are simple : we have to store about 8 to 15 million binary records, ranging from 300 bytes to 30K bytes, with an average of 1K by record. We have enough RAM to store all the data in memory.Our records are persistent, and never expire.
Our developer team made a Proof Of Concept with Membase, that gave some interresting results. It's clear that Membase is esay to install, administrate and monitor. However, compared to other memcache-like solutions, such as memcachedb, Membase seems to be a little bit slower.
Each time our app takes care of a record, it basically does one get() and one set(). Initially, we had around 1700 operations / second on a 3 GHz Quad-Xeon with 4Mb cache. After a long-term running (and around 1M records in database), we come to roughly 800 operations/second. We could have sligthly better performance with memcachedb, and we would like to encounter the same performance with membase.
We would like to know more about membase optimisation. Is there a way to change some core parameters in Membase, such as thread number, or database type (btree / hash) ? Do you have some advices to speed up our number of ops / second ?
Thank you in advance for your help and answers,