Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u4eNt-005KFr-Jl for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 11:23:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u4eNr-008d6u-MN for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 11:23:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u4eNr-008d3q-Cj for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 11:23:20 +0000 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u4eNq-000BW7-0D for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 11:23:19 +0000 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-30bfe0d2b6dso55500301fa.3 for ; Tue, 15 Apr 2025 04:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744716195; x=1745320995; darn=lists.postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=K1OIiBwqIffe5LoI0LaqJ/CzzOzbaE0TbOUvGE5j/74=; b=A+0Z4Y91+S671E0M5A4kfz8hNaq7Qih6BiACunTT7VEBGyV5Jb+y+Bug1ckci+eu+Q Zar2Sh4bHrXBN4DIvvOpLsfi+uJx7o9fWWm0m5COD5uW5n+K5W5JWVPC24JPJqoVgq58 Aj65Pu/EpqN9jWLPAFauye2+j4xraR2hlSyRgMBknF14kOapzt6fK35BqpMWRjLquJqB oEvYE0YYlwqKfSCvl1GodMqbzoddAL1QUN4NEgU2AcUu2unU7UVCybkR6H549nUaMpvx C/p2PWTmhq2ED4jFwLMRyYVwv+wNbXQwy36LiUQKSTObs4tctCSkNUJwxWQFCW+wQwAX qVsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744716195; x=1745320995; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=K1OIiBwqIffe5LoI0LaqJ/CzzOzbaE0TbOUvGE5j/74=; b=L8SoEymuatvVsCowmKbS3ovQlaBRkhUB57MZorcBha2QKAT0zIUN7GPVxCFoCloor9 7eV+voBgVp7rU7jzw82dhMwsq29Z/8pynrVMki0ZrrbALcREJRiqbNz26lOwX/Z+wA4h KQxCTju1Dea99y3LGsIStOdVhsHtkzt3+4L3UuTQItsipK1in5osYWjG2QDOM4nGfbnr CD956ueyF3U8WADEwcrlQAjlvnfSmTJoIqrQDboG0Fu9YlJfUGEganC71Rq+1wm2b990 b0YEu8FA0li55glddci4lg59ph++B0p7vexaQzhync2x8SO0JYcGNCBLzhtonlejBrBE qdAg== X-Gm-Message-State: AOJu0Yz79/imDZjQieHo5U/f0V328Ix8GgP3jkS5W2dcOF/O91MnVW8j cQrOPBygqLu4wwrQ/2d++WzFVe6c5hNmJ6Dexj4OCnSIamGSO250JHaaipA= X-Gm-Gg: ASbGncv8RGa3KzXqiwjYczn/OBuo9YFueP/tO54SGd2uftwa4haxTXDulNDo5jU7I3j 5d3WCCnSccHkm0++rMwzzh1K9C/5rgOGDT2DpPGxR21rC0beATEIoSF+QI1J4uM9DIe7Lwik+/U AZomjhbKyHPXDmNLQFiX0LbSz8+8u+pYA10OHm9bNulseL/PaQpumGcfAzR3GWxibLyZ0DfuPDF upBVw0WUvKgKtbxvaC7zGtKapfe8soTAzc3dzYkFyHqxbXcpiZ7gjkYbINlREX6WJraMbKZhjbq iKW2BeYygElx0CbJ8KWcLP5dMYyN+/t5Ei/AQfgmfw== X-Google-Smtp-Source: AGHT+IFMIBE0279is/s8zobhGbJvYACaxsCxeQUCyZXLkYA3rni423iNNjz+Bt3X/KXvCcUGNIDXiQ== X-Received: by 2002:a05:651c:985:b0:30c:160b:c766 with SMTP id 38308e7fff4ca-310499f947cmr43015371fa.14.1744716195370; Tue, 15 Apr 2025 04:23:15 -0700 (PDT) Received: from ark.local ([104.28.198.245]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30f465f6555sm20372891fa.88.2025.04.15.04.23.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 04:23:15 -0700 (PDT) Received: by ark.local (Postfix, from userid 1000) id 613C1F20074; Tue, 15 Apr 2025 14:23:14 +0300 (MSK) Date: Tue, 15 Apr 2025 14:23:14 +0300 From: Konstantin Osipov To: Aleksander Alekseev Cc: pgsql-hackers@lists.postgresql.org Subject: Re: Built-in Raft replication Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk * Aleksander Alekseev [25/04/15 13:20]: > > I am considering starting work on implementing a built-in Raft > > replication for PostgreSQL. > > Generally speaking I like the idea. The more important question IMO is > whether we want to maintain Raft within the PostgreSQL core project. > > Building distributed systems on commodity hardware was a popular idea > back in the 2000s. These days you can rent a server with 2 Tb of RAM > for something like 2000 USD/month (numbers from my memory that were > valid ~5 years ago) which will fit many of the existing businesses (!) > in memory. And you can rent another one for a replica, just in order > not to recover from a backup if something happens to your primary > server. The common wisdom is if you can avoid building distributed > systems, don't build one. > > Which brings the question if we want to maintain something like this > (which will include logic for cases when a node joins or leaves the > cluster, proxy server / service discovery for clients, test cases / > infrastructure for all this and also upgrading the cluster, docs, ...) > for a presumably view users which business doesn't fit in a single > server *and* they want an automatic failover (not the manual one) > *and* they don't use Patroni/Stolon/CockroachDB/Neon/... already. > > Although the idea is tempting personally I'm inclined to think that > it's better to invest community resources into something else. My personal take away from this as a community member would be seamless coordinator failover in Greenplum and all of its forks (CloudBerry, Greengage, synxdata, what not). I also imagine there is a number of PostgreSQL derivatives that could benefit from built-in transparent failover since it standardizes the solution space. -- Konstantin Osipov