Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lFWUj-0005aP-Tf for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Feb 2021 06:20:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lFWUi-0001O0-H0 for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Feb 2021 06:20:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lFWUi-0001Nt-7W for pgsql-hackers@lists.postgresql.org; Fri, 26 Feb 2021 06:20:56 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lFWUf-0000de-Dd for pgsql-hackers@postgresql.org; Fri, 26 Feb 2021 06:20:55 +0000 Received: from [192.168.129.197] (unknown [94.25.177.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id 26C6721C29CE; Fri, 26 Feb 2021 09:20:50 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1614320450; bh=WYL76EQnrf5/h9H47G2vXYmykKRH/UOvX3hWJA7py00=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=Sb4/dvrcfYz2UdsUikXsmRzbKb5616DEyhQyRkGbynp9zQOQRK6f8O/TaAikN6lEi kUeCWWZdCMALIDdxf4vC++zs/dxYMUIjdcbYISxRebVhP1btZs4cTr9xlk1feljtQ3 6j6LnhFmFSLxfco8z0MAMGWudMpLXERa1iWyI8tg= Subject: Re: Global snapshots To: "tsunakawa.takay@fujitsu.com" , PostgreSQL-Dev Cc: 'Fujii Masao' , Masahiko Sawada , Amit Kapila , "movead.li@highgo.ca" References: <07b2c899-4ed0-4c87-1327-23c750311248@postgrespro.ru> <806c3708-26ea-b94d-87b1-d48e41e93726@postgrespro.ru> <88a2642f-1ce6-a9d2-5d26-1221a2c4e072@oss.nttdata.com> From: "Andrey V. Lepikhov" Organization: Postgres Professional Message-ID: Date: Fri, 26 Feb 2021 11:20:49 +0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 1/1/21 8:14 AM, tsunakawa.takay@fujitsu.com wrote: > -------------------------------------------------- > 11. A method comprising: > receiving information relating to a distributed database transaction operating on data in data stores associated with respective participating nodes associated with the distributed database transaction; > requesting commit time votes from the respective participating nodes, the commit time votes reflecting local clock values of the respective participating nodes; > receiving the commit time votes from the respective participating nodes in response to the requesting; > computing a global commit timestamp for the distributed database transaction based at least in part on the commit time votes, the global commit timestamp reflecting a maximum value of the commit time votes received from the respective participating nodes; and > synchronizing commitment of the distributed database transaction at the respective participating nodes to the global commit timestamp, > wherein at least the computing is performed by a computing device. Thank you for this analysis of the patent. After researching in depth, I think this is the real problem. My idea was that we are not using real clocks, we only use clock ticks to measure time intervals. It can also be interpreted as a kind of clock. That we can do: 1. Use global clocks at the start of transaction. 2. Use CSN-based snapshot as a machinery and create an extension to allow user defined commit protocols. -- regards, Andrey Lepikhov Postgres Professional