State-of-the-art distributed in-memory datastores (FaRM, FaSST, DrTM) provide strongly-consistent distributed transactions with high performance and availability. Transactions in those systems are fully general; they can atomically manipulate any set of objects in the store, regardless of their location. To achieve this, these systems use complex distributed transactional protocols. Meanwhile, many workloads have a high degree of locality. For such workloads, distributed transactions are an overkill as most operations only access objects located on the same server -- if sharded appropriately. In this paper, we show that for these workloads, a single-node transactional protocol combined with dynamic object re-sharding and asynchronously pipelined replication can provide the same level of generality with better performance, simpler protocols, and lower developer effort. We present Zeus, an in-memory distributed datastore that provides general transactions by acquiring all objects involved in the transaction to the same server and executing a single-node transaction on them. Zeus is fault-tolerant and strongly-consistent. At the heart of Zeus is a reliable dynamic object sharding protocol that can move 250K objects per second per server, allowing Zeus to process millions of transactions per second and outperform more traditional distributed transactions on a wide range of workloads that exhibit locality.
翻译:最先进的分布在模拟数据存储处(FARM, FASST, DrTM) 提供高度一致的分布式交易,其性能和可用性都很高。 这些系统中的交易是完全一般的; 它们可以对仓库中的任何一组物体进行原子操控,而不论其位于何地。 为此,这些系统使用复杂的分布式交易协议。 同时, 许多工作量都具有很高的地理位置。 对于这些工作量, 分布式交易是超乎寻常的, 因为大多数操作只能访问位于同一服务器上的物品 -- -- 如果被打碎了的话。 在本文件中, 我们显示, 对于这些工作量, 单节交易协议加上动态的物体重新硬化和无节奏的管道复制可以提供同样程度的一般操作性, 更好的性操作, 更简单的协议, 更低的开发者努力。 我们向Zeus展示一个模拟的分布式数据存储处, 它通过获取与同一服务器交易有关的所有物品来提供一般交易, 并对它们进行单节点交易。 Zeus是错误的和强烈的组合。 在Zeus的核心核心的常规交易中, 能够将一个可靠的移动到每百万个日历的动态客户交易过程。