发明名称 Ensuring globally consistent transactions
摘要 The present technology proposes techniques for ensuring globally consistent transactions. This technology may allow distributed systems to ensure the causal order of read and write transactions across different partitions of a distributed database. By assigning causally generated timestamps to the transactions based on one or more globally coherent time services, the timestamps can be used to preserve and represent the causal order of the transactions in the distributed system. In this regard, certain transactions may wait for a period of time after choosing a timestamp in order to delay the start of any second transaction that might depend on it. The wait may ensure that the effects of the first transaction are not made visible until its timestamp is guaranteed to be in the past. This may ensure that a consistent snapshot of the distributed database can be determined for any past timestamp.
申请公布号 US9569253(B1) 申请公布日期 2017.02.14
申请号 US201313905637 申请日期 2013.05.30
申请人 Google Inc. 发明人 Hsieh Wilson Cheng-Yi;Lloyd Alexander;Hochschild Peter;Epstein Michael James Boyer;Quinlan Sean
分类号 G06F7/00;G06F17/00;G06F9/46 主分类号 G06F7/00
代理机构 Lerner, David, Littenberg, Krumholz & Mentlik, LLP 代理人 Lerner, David, Littenberg, Krumholz & Mentlik, LLP
主权项 1. A method, comprising: identifying a set of transaction events originating from one or more database clients in a distributed computing system; receiving a first time interval from at least one globally coherent time service, the first time interval determined based on timestamps generated by a plurality of time masters serving as references in the distributed computing system for the database clients, the first time interval including a current true time and representing a difference between an earliest one of the plurality of time masters and a latest one of the plurality of time masters; determining, using a processor, a causal timestamp based on the first time interval; associating the causal timestamp with the set of transaction events; waiting a period of time for a given transaction event, the period of time corresponding to when the first time interval will pass the causal timestamp; executing the given transaction event; and publishing a result of the given transaction event after the period of time.
地址 Mountain View CA US