-
公开(公告)号:US20180165326A1
公开(公告)日:2018-06-14
申请号:US15405841
申请日:2017-01-13
Applicant: Google Inc.
Inventor: Goetz Graefe
IPC: G06F17/30
CPC classification number: G06F16/2379 , G06F16/2246 , G06F16/2343 , G06F16/245
Abstract: This disclosure provides systems, methods, and apparatus for managing locks for non-existing keys in an index of a database. The system can receive a first transaction for accessing a first requested key that does not match any of a plurality of keys in the index. The system partitions the first requested key using a partitioning function to a first partition. The system can also receive a second transaction for accessing a second requested key that does not match any of the plurality of keys in the index. The system also partitions the second requested key using the partitioning function to a second partition. The system assigns locks to the second transaction only if the second partition is distinct from the first partition.
-
公开(公告)号:US20180165327A1
公开(公告)日:2018-06-14
申请号:US15405846
申请日:2017-01-13
Applicant: Google Inc.
Inventor: Goetz Graefe
IPC: G06F17/30
CPC classification number: G06F16/2379 , G06F16/2246 , G06F16/2343 , G06F16/245
Abstract: This disclosure provides systems, methods, and apparatus for avoiding deadlocks in a database management system. The system includes a transaction engine that can receive query and update transactions for accessing a primary index and one or more related secondary indexes. The transaction engine requests the lock manager for locks for rows in the primary index and the related secondary indexes that the update and the query transactions need to access. For the query transaction, the transaction engine requests locks for the secondary index prior the requesting locks for the primary index. To avoid deadlocks, the transaction engine requests the locks for the update transaction in the same order as the requests for the query transaction.
-