发明名称 Multi-row transactions
摘要 Techniques are provided for more efficient multi-row atomic, consistent, isolated and durable (ACID)-compliant transactions with snapshot isolation semantics (or just “multi-row transactions” for short). In some embodiments, the techniques are implemented in a computing system that includes a client application, a lightweight in-memory lease-based lock service, a multi-row transaction orchestrator, and an underlying database system. The transaction orchestrator implements a read protocol and a write protocol that provides support to the client application for carrying out multi-row transactions against the underlying database system irrespective of whether the database system itself supports multi-row transactions. The transaction orchestrator explicitly maintains transaction-level locks obtained from the lease-based lock service as part of the transaction protocol. Further, the transaction orchestrator is tolerant to lock service failure and unavailability without compromising ACID-compliance and snapshot isolation guarantees to the client application.
申请公布号 US8954410(B2) 申请公布日期 2015.02.10
申请号 US201313958817 申请日期 2013.08.05
申请人 Palantir Technologies, Inc. 发明人 Chang Allen;Carrino John Antonio
分类号 G06F7/00;G06F17/00;G06F17/30 主分类号 G06F7/00
代理机构 Hickman Palermo Truong Becker et al LLP 代理人 Hickman Palermo Truong Becker et al LLP ;Stone Adam C.
主权项 1. A method comprising: acquiring, from a lock service, a lock on a row of a database table, the row representing a transaction; after acquiring the lock, writing data to a plurality of database rows as part of the transaction, the plurality of database rows not including the row representing the transaction; querying the lock service to validate the lock after writing the data to the plurality of database rows; attempting to commit the transaction after successfully validating the lock; wherein attempting to commit the transaction comprises attempting to atomically add the row representing the transaction to the database table; wherein the method is performed by one or more computing devices.
地址 Palo Alto CA US