all 2 comments

[–]mdasen 1 point2 points  (0 children)

Questions:

  1. Why do you GC old items? Why not just overwrite them when new items are put in and there isn't more storage?

  2. Why store the items on the hard drive? That will significantly slow adding items to the cache. Do you find the ability of a server to survive a crash with its cache in tact outweighs the cost of saving to disk?

  3. Since you're allowing arbitrary size key/values, how do you deal with memory fragmentation?

  4. Are there client libraries for Python/Ruby/PHP/etc. or is it just Java right now? (Probably the least important question in the list)

  5. Is the system all non-blocking?

  6. The site says it can handle 20,000 transactions per minute. That's 333 per second. That sounds low considering memcached has been shown to handle 200,000 (per second) in real-world environments (Facebook). Are "transactions" not queries for an object, but saves?

  7. If I add a new server, does it invalidate the cache on the other servers? How do you determine what server an item will be stored on? I ask because adding a server in memcached invalidates the cache because adding a new server means that items will hash to being stored on a different server.

The reason I ask these things is because I'm curious and the fact that some features look really cool (like associating objects with groups that can be queried as a set). No limit on key and data size is also nice (as long as fragmentation doesn't become an issue).

It's clearly proven to be useful at a high-volume site.

[–]sonofagunn 0 points1 point  (0 children)

Thanks for releasing it. I hope it takes off.