Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by xanton on Wednesday March 08, 2017 @08:10PM
(#13825812)
Am I right that in a system implementing algorithm explained in the article there is no way to execute operations on two key-value pairs stored in different buckets atomically? For example, two CAS operations that will either both succeed or both fail?
[ Parent
| on HN ]
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by solidsnack9000 on Wednesday March 08, 2017 @09:37PM
(#13826437)
Their application is file systems and no file systems offer that capability. In order to provide transactionality for multi-file operations, you have to have a file that represents "the transaction" and move it or create/delete it.
In most file systems, you can't even update a file atomically, actually -- what you can update atomically is a disk page, 4-16k. Database servers might then maintain a separate, small file that contains only a transaction token, which is atomically updated to contain the last transaction written to disk in full.
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by xanton on Thursday March 09, 2017 @10:23AM
(#13829828)
I don't judge them, I was confused by the choice of systems to compare with and thought that I didn't understand article. I think that comparison with MongoDB or RethinkDB would be more appropriate in this case.
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by mhf8o9a on Thursday March 09, 2017 @04:08PM
(#13833651)
Keep in mind that the Bizur is being used for services internal to the file system. So the use case is more like etcd or ZooKeeper's, for example in one role it is a cluster configuration database (with high availablity, fault tolerance, consistency, etc.)
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by blopeur on Wednesday March 08, 2017 @08:24PM
(#13825905)
Yes, They guarantee consensus per key ( which is in this case per bucket as they aggregate them).
You won't be able to have atomic operation across bucket neither you can have serialisation of transactions across bucket.
It's a trade-off, my guess is that their use case does not require a consistent view of the overall k/v store.
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by ezrahoch on Thursday March 09, 2017 @05:11PM
(#13834279)
Indeed, it is a tradeoff, and our solution doesn't require consistency across multiple keys.
More generally, any solution that doesn't require transactions across multiple keys, can use Bizur instead of classical Paxos, and achieve the same benefits (faster recovery from failures, higher concurrency, etc.)