用鍵值儲存實現MVCC模式

jieforest發表於2013-02-04
The following post is quite interesting and has good ideas on how to implement MVCC (Multi-Version Concurrency Control) on a key-value store:

Implementation of MVCC Transactions for Key-Value Stores

It gives good ideas on how to track when each entity came into existence by storing the transaction that created and the one that deleted it.

However, I have concerns about this global sequence number and I copy here my comment instead of retyping it:

The idea of keeping the transaction ID is very interesting, but requires a global sequence number to be assigned to the transactions, right  

I don’t know which NoSQL databases have that, but when I think about Windows Azure Storage (the one I’ve been working with more recently), that would be a problem. Actually, that’s a problem with any scalable DB, as it can be a contention point.

In the Windows Azure Storage, or others that don’t have that on the server side, it’s more of a problem to have this global number as it requires operations to read the number, increment, and then update them. This creates a contention point, and reduces the rate of transactions you can have.

What are your thoughts on it  Have you tried to implement that on top of a NoSQL DB  Does Oracle Coherence offer an increment operation for this global counter


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-753883/,如需轉載,請註明出處,否則將追究法律責任。

相關文章