SG10201707669XA - A High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time - Google Patents

A High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time

Info

Publication number
SG10201707669XA
SG10201707669XA SG10201707669XA SG10201707669XA SG10201707669XA SG 10201707669X A SG10201707669X A SG 10201707669XA SG 10201707669X A SG10201707669X A SG 10201707669XA SG 10201707669X A SG10201707669X A SG 10201707669XA SG 10201707669X A SG10201707669X A SG 10201707669XA
Authority
SG
Singapore
Prior art keywords
commit
timestamp
concurrency control
synchronized time
preserved
Prior art date
Application number
SG10201707669XA
Other languages
English (en)
Inventor
Wilson Cheng-Yi Hsieh
Peter Hochschild
Original Assignee
Google Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Llc filed Critical Google Llc
Publication of SG10201707669XA publication Critical patent/SG10201707669XA/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Other Liquid Machine Or Engine Such As Wave Power Use (AREA)
  • Computer And Data Communications (AREA)
SG10201707669XA 2016-12-09 2017-09-18 A High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time SG10201707669XA (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/374,722 US10951706B2 (en) 2016-12-09 2016-12-09 High-throughput algorithm for multiversion concurrency control with globally synchronized time

Publications (1)

Publication Number Publication Date
SG10201707669XA true SG10201707669XA (en) 2018-07-30

Family

ID=60083458

Family Applications (1)

Application Number Title Priority Date Filing Date
SG10201707669XA SG10201707669XA (en) 2016-12-09 2017-09-18 A High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time

Country Status (8)

Country Link
US (3) US10951706B2 (fr)
EP (1) EP3552116B1 (fr)
CN (2) CN114328424A (fr)
DE (1) DE102017121358A1 (fr)
GB (2) GB2594808B (fr)
IE (2) IE20230257A2 (fr)
SG (1) SG10201707669XA (fr)
WO (1) WO2018106316A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10691484B2 (en) * 2017-05-15 2020-06-23 Google Llc Reducing commit wait in a distributed multiversion database by reading the clock earlier
US10757181B1 (en) * 2018-03-14 2020-08-25 Palantir Technologies Inc. Dynamic balancing of operations by selecting subsets of nodes
US11061871B2 (en) * 2019-03-15 2021-07-13 Google Llc Data placement for a distributed database
CN109933632B (zh) * 2019-04-04 2021-04-27 杭州数梦工场科技有限公司 一种数据库的数据迁移方法、装置及设备
CN110597838A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 一种基于时间的信息系统并发控制方法、设备以及系统
CN111459920B (zh) * 2020-05-15 2021-01-15 北京谷数科技股份有限公司 基于虚拟全局时钟同步的多版本并发控制方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63204437A (ja) 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ロック・システム
US5212788A (en) 1990-05-22 1993-05-18 Digital Equipment Corporation System and method for consistent timestamping in distributed computer databases
US5715447A (en) 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer
JP2000010810A (ja) 1998-06-22 2000-01-14 Toshiba Corp トランザクション処理のコミット制御方法および同方法が適用される計算機システム
US6457021B1 (en) * 1998-08-18 2002-09-24 Microsoft Corporation In-memory database system
US6341285B1 (en) 1999-06-28 2002-01-22 Lucent Technologies Inc. Serial protocol for transaction execution in main-memory database systems
US7089244B2 (en) 2000-11-15 2006-08-08 North Dakota State University Multiversion read-commit order concurrency control
US6925515B2 (en) 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
US6721765B2 (en) 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
US7315926B2 (en) * 2004-09-21 2008-01-01 Emc Corporation Lock management for concurrent access to a single file from multiple data mover computers
CN101098514B (zh) * 2006-06-27 2011-11-09 华为技术有限公司 一种集群客户端用户状态迁移方法及一种集群客户端
US7822728B1 (en) * 2006-11-08 2010-10-26 Emc Corporation Metadata pipelining and optimization in a file server
CN101706802B (zh) * 2009-11-24 2013-06-05 成都市华为赛门铁克科技有限公司 一种数据写入、修改及恢复的方法、装置及服务器
US9213717B1 (en) * 2011-09-28 2015-12-15 Emc Corporation Managing concurrent I/OS in file systems
US9420955B2 (en) 2011-10-11 2016-08-23 Boston Scientific Scimed, Inc. Intravascular temperature monitoring system and method
ES2584102T3 (es) * 2011-11-18 2016-09-23 Universidad Politécnica de Madrid Sistema y método para procesamiento transaccional de baja contención y descentralizado altamente escalable
US9230000B1 (en) 2012-06-04 2016-01-05 Google Inc. Pipelining Paxos state machines
US9747310B2 (en) * 2012-06-04 2017-08-29 Google Inc. Systems and methods of increasing database access concurrency using granular timestamps
US20140040208A1 (en) 2012-07-31 2014-02-06 Goetz Graefe Early release of transaction locks based on tags
US9632828B1 (en) * 2012-09-24 2017-04-25 Amazon Technologies, Inc. Computing and tracking client staleness using transaction responses
GB2507484A (en) * 2012-10-30 2014-05-07 Ibm Limiting the number of concurrent requests in a database system
CN103294548B (zh) * 2013-05-13 2016-04-13 华中科技大学 一种基于分布式文件系统的io请求调度方法和系统
US9613122B2 (en) * 2014-05-02 2017-04-04 Facebook, Inc. Providing eventual consistency for multi-shard transactions
US9910733B2 (en) * 2014-06-26 2018-03-06 Sybase, Inc. Transaction completion in a synchronous replication environment
CN104317944B (zh) 2014-10-31 2018-07-06 上海实方软件有限公司 一种基于公式的时间戳动态调整并发控制方法
US10509778B2 (en) * 2016-05-25 2019-12-17 Google Llc Real-time transactionally consistent change notifications

Also Published As

Publication number Publication date
US10951706B2 (en) 2021-03-16
IE20170198A1 (en) 2018-06-13
GB2594808A (en) 2021-11-10
DE102017121358A1 (de) 2018-06-14
IE87419B1 (en) 2023-08-02
EP3552116B1 (fr) 2022-01-26
EP3552116A1 (fr) 2019-10-16
IE20230257A2 (en) 2023-11-22
WO2018106316A1 (fr) 2018-06-14
US20180167460A1 (en) 2018-06-14
GB202108104D0 (en) 2021-07-21
GB201715226D0 (en) 2017-11-08
US11601501B2 (en) 2023-03-07
GB2557704B (en) 2021-07-21
US20230216921A1 (en) 2023-07-06
GB2557704A (en) 2018-06-27
US20210185126A1 (en) 2021-06-17
GB2594808B (en) 2022-04-06
CN108228698B (zh) 2021-11-16
CN114328424A (zh) 2022-04-12
CN108228698A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
SG10201707669XA (en) A High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time
MX2019011590A (es) Metodos y sistemas para realizar pruebas en aplicaciones web.
US10379963B2 (en) Methods and apparatus for managing a large-scale environment of copy data management appliances
WO2020098844A3 (fr) Système et procédé de mise en œuvre d'application décentralisée à base de chaîne de blocs
EP4287026A3 (fr) Traçage d'un système distribué
CN104182297B (zh) 用于从主存储卷的故障中恢复的方法和系统
GB2555759A8 (en) Data access and ownership management
MX2016005800A (es) Sistema y metodo para actualizacion de una clave de cifrado a traves de una red.
MY186344A (en) Vaping heat map system and method for electronic vapour provision systems
GB2536810A (en) Systems and methods for automated commissioning of virtualized distributed control systems
EP4236422A3 (fr) Les dispositifs et méthodes permettant de découvrir des données collectées et des données analytiques dans un réseau
GB2538457A (en) High performance distributed computing environment particularly suited for reservoir modelling and simulation
BR112015021712A2 (pt) sistemas e métodos para descobrir dispositivos em uma rede ciente de vizinhança
GB2526743A (en) Session attribute propagation through secure database server tiers
WO2014145076A3 (fr) Appareil, systèmes et procédés pour externaliser des renseignements spécifiques à un domaine
MX2019009201A (es) Metodo y sistema de seleccion de una funcion de acceso y gestion de movilidad en un entorno de red de acceso.
BR112017011270A2 (pt) aparelho de processamento de informação, método de controle para aparelho de processamento de informação, sistema de processamento de informação, e programa de computador
WO2017109502A3 (fr) Procédés, appareils et programmes d'ordinateur pour traiter des données, et fichiers de zone d'un système hiérarchique de nom de domaine
US20200089198A1 (en) Client and gateway synchronization in industrial control systems
SG11201805866UA (en) Permission management and resource control method and apparatus
WO2016100545A8 (fr) Serveurs informatiques pour la gestion d'un centre de données
WO2016165544A1 (fr) Procédé et dispositif de mise en oeuvre d'une cohérence entre des domaines temporels dans un système distribué
MX2020012092A (es) Sistema y metodo de agregacion y analisis de datos geograficos.
GB2561722A (en) System and method for content messaging
TW200500872A (en) System, method and computer readable storage medium for automated equipment automation program (EAP) refresh