2

Membase is great for social game due to it's low latency. As I understand CouchDB is a MVCC system using b+ tree, with a focus on append only design. (http://guide.couchdb.org/draft/btree.html)

One of the most important scenario of Membase is social game. Social game has a lot of write operations (50+%). And a good portion of them are in-place updates. So why is CouchDB a suitable persistent layer for Membase?

yojimbo87
  • 65,684
  • 25
  • 123
  • 131
Yichuan Wang
  • 723
  • 8
  • 15
  • 2
    A little background for this question: Couchbase and Membase are merged, the new company will use couchdb instead of sqlite for membase. – Yichuan Wang Aug 30 '11 at 02:54

3 Answers3

2

I'd also add that CouchDB's append-only log format really doesn't have much relation to whether application writes are new items or updates. The append-only format gives us much better reliability and performance than an in-place system (like sqlite...which is still quite reliable). It's also much easier to take backups of.

Does Membase NEED an append-only log format? maybe not...does it NEED CouchDB?...YES!

The benefits of map-reduce and indexing as well as eventually consistent replication that CouchDB brings are nothing less than huge for Membase...and the benefits of low-latency, clustering and UI that Membase brings to CouchDB are arguably just as important.

(Disclosure: I work for Couchbase)

Perry Krug

Perry Krug
  • 665
  • 4
  • 6
  • Thanks for your answer! (it's great to talk to someone work on CouchDB :) I thought for a constantly updating access pattern, CouchDB will grow in size very quickly. Am I wrong about this? Of course, we all want our application to be both super responsive, AND super reliable. But I feel that to have the CouchDB layer will slow down say 'write' operation since you have to wait for commit to return. (Please correct me if my understanding is incorrect) Anyway, I agree map-reduce and indexing can be great, but the selling point for membase is low-latency. – Yichuan Wang Aug 31 '11 at 00:15
  • Yichuan: We're working hard to ensure that it is never worse than what we did with SQLite. It's all open source, so you're free to join us in doing so. :) – Dustin Aug 31 '11 at 06:54
1

CouchDB has great file formats, great ability to recover from crashes, sophisticated authentication and authorization tools, and a universal, standard, interface: HTTP. CouchDB is poor at low-latency queries, optimized memory utilization, and heavy update speeds (a million per second).

Membase currently has only a simple SQLite file format for persistence, less sophisticated authentication and authorization, using a more obscure protocol. Membase is amazing for low-latency queries, ideal memory utilization, and heavy update speeds.

I think the two complement each other very well. Since the merging effort is coming from core developers in both projects, collaborating together, I expect to see the strengths of both and the weaknesses of neither. Yes, CouchDB is a good persistence layer for Membase.

JasonSmith
  • 72,674
  • 22
  • 123
  • 149
  • Thank you for your answer. I guess my question is: CouchDB is more focused on the scenario where data is appended incrementally, and existing data does not change often(MVCC). Where membase (social games) are more focused on frequent updates. So it seems unlikely you can have everything by just put two software together. – Yichuan Wang Aug 30 '11 at 05:47
  • The strength of CouchDB is its HTTP API and map/reduce queries to dig into data. As a persistence layer for the volatile Membase data, it will be good. – JasonSmith Aug 30 '11 at 06:29
0

Money speaks and if there ever was a vote of confidence then here it is, not only from a new lead investor but also from the existing ones as well.

http://www.couchbase.com/press-releases/couchbase-series-C

Besides, don't you think that Membase itself is more than well enough qualified to make an evaluation for such a merger decision?

teslan
  • 19
  • 2
  • It's not as much about the merger decision as it is putting the right technologies in the right places. The combination is a collection of really smart people who generally don't have much technology religion. The best parts are applied where they work the best. – Dustin Aug 31 '11 at 06:55