Systems and methods of increasing database access concurrency using granular timestamps

    公开(公告)号:US09747310B2

    公开(公告)日:2017-08-29

    申请号:US13909928

    申请日:2013-06-04

    Applicant: Google Inc.

    CPC classification number: G06F17/30292 G06F17/30353 G06F17/30356

    Abstract: A method reads and writes data from a database table. Each row in the table has a primary key and multiple non-key columns. Each non-key column has one or more column values, and each column value has an associated timestamp that identifies when the column value was stored. The timestamps associated with the column values in each non-key column provide a unique order for the column values. A read transaction is initiated to read from a first non-key column of a first row. A write transaction is in progress that is updating a second non-key column of the first row, where the second non-key column is distinct from the first non-key column. The write transaction holds a lock on the second non-key column of the first row. The method concurrently reads the data from the first non-key column and writes a new column value to the second non-key column.

    System and method for committing transactions on remote servers
    12.
    发明授权
    System and method for committing transactions on remote servers 有权
    在远程服务器上提交事务的系统和方法

    公开(公告)号:US09596294B2

    公开(公告)日:2017-03-14

    申请号:US13892169

    申请日:2013-05-10

    Applicant: Google Inc.

    CPC classification number: H04L67/10 G06F9/466

    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for committing transactions on remote servers is presented. Commit requests are issued to remote servers in a set of remote servers to request that the remote servers in the set of remote servers agree to commit a transaction at a first designated future time. When responses from the remote servers in the set of remote servers are received before a first abort time and indicate that all remote servers in the set of remote servers have agreed to commit the transaction at the first designated future time, commit commands are issued to the remote servers in the set of remote servers instructing the remote servers to perform the transaction at the first designated future time.

    Abstract translation: 提出了存储至少一个程序的系统,计算机可读存储介质以及用于在远程服务器上进行事务的计算机实现的方法。 提交请求被发送到一组远程服务器中的远程服务器,以请求远程服务器集中的远程服务器同意在第一个指定的未来时间提交事务。 当在第一个中止时间之前收到远程服务器集中的远程服务器的响应,并指示远程服务器集中的所有远程服务器都同意在第一个指定的未来时间提交事务时,会向 远程服务器中的远程服务器指示远程服务器在第一个指定的未来时间执行交易。

    Ensuring globally consistent transactions
    13.
    发明授权
    Ensuring globally consistent transactions 有权
    确保全球一致的交易

    公开(公告)号:US09569253B1

    公开(公告)日:2017-02-14

    申请号:US13905637

    申请日:2013-05-30

    Applicant: Google Inc.

    CPC classification number: G06F17/30377 G06F9/466 G06F17/30551

    Abstract: 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.

    Abstract translation: 本技术提出了确保全球一致交易的技术。 该技术可能允许分布式系统确保分布式数据库的不同分区之间的读写事务的因果顺序。 通过基于一个或多个全局一致的时间服务将事件生成的时间戳分配给事务,可以使用时间戳来保留和表示分布式系统中的事务的因果顺序。 在这方面,某些交易可能会在选择时间戳之后等待一段时间,以便延迟可能依赖于它的任何第二个交易的开始。 等待可以确保第一个事务的效果在其时间戳保证为过去之前不可见。 这可以确保可以为任何过去的时间戳确定分布式数据库的一致快照。

    Pipelining Paxos state machines
    14.
    发明授权
    Pipelining Paxos state machines 有权
    Pipelining Paxos状态机

    公开(公告)号:US09230000B1

    公开(公告)日:2016-01-05

    申请号:US13910004

    申请日:2013-06-04

    Applicant: Google Inc.

    Abstract: Paxos transactions are pipelined in a distributed database formed by a plurality of replica servers. A leader server is selected by consensus of the replicas, and receives a lock on leadership for an epoch. The leader gets Paxos log numbers for the current epoch, which are greater than the numbers allocated in previous epochs. The leader receives database write requests, and assigns a Paxos number to each request. The leader constructs a proposed transaction for each request, which includes the assigned Paxos number and incorporates the request. The leader transmits the proposed transactions to the replicas. Two or more write requests that access distinct objects in the database can proceed simultaneously. The leader commits a proposed transaction to the database after receiving a plurality of confirmations for the proposed transaction from the replicas. After all the Paxos numbers have been assigned, inter-epoch tasks are performed before beginning a subsequent epoch.

    Abstract translation: Paxos事务在由多个副本服务器形成的分布式数据库中流水线化。 一个领导服务器是通过副本的共识来选择的,并获得了一个时代的领导锁。 领导者获取当前时代的Paxos日志号,大于前几个时期分配的数字。 领导者接收数据库写请求,并为每个请求分配一个Paxos号。 领导者为每个请求构建一个提议的事务,其中包括分配的Paxos号并包含请求。 领导将拟议的交易传送给副本。 访问数据库中不同对象的两个或多个写入请求可以同时进行。 领导者在从副本收到拟议交易的多个确认书后,向数据库提交交易。 在所有Paxos号码被分配之后,在开始后续时期之前执行时代间任务。

    System and Method for Committing Transactions on Remote Servers
    16.
    发明申请
    System and Method for Committing Transactions on Remote Servers 有权
    用于在远程服务器上提交事务的系统和方法

    公开(公告)号:US20130318146A1

    公开(公告)日:2013-11-28

    申请号:US13892169

    申请日:2013-05-10

    Applicant: Google Inc.

    CPC classification number: H04L67/10 G06F9/466

    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for committing transactions on remote servers is presented. Commit requests are issued to remote servers in a set of remote servers to request that the remote servers in the set of remote servers agree to commit a transaction at a first designated future time. When responses from the remote servers in the set of remote servers are received before a first abort time and indicate that all remote servers in the set of remote servers have agreed to commit the transaction at the first designated future time, commit commands are issued to the remote servers in the set of remote servers instructing the remote servers to perform the transaction at the first designated future time.

    Abstract translation: 提出了存储至少一个程序的系统,计算机可读存储介质以及用于在远程服务器上进行事务的计算机实现的方法。 提交请求被发送到一组远程服务器中的远程服务器,以请求远程服务器集中的远程服务器同意在第一个指定的未来时间提交事务。 当在第一个中止时间之前收到远程服务器集中的远程服务器的响应,并指示远程服务器集中的所有远程服务器都同意在第一个指定的未来时间提交事务时,会向 远程服务器中的远程服务器指示远程服务器在第一个指定的未来时间执行交易。

Patent Agency Ranking