Skip to main content

6 posts tagged with "planetpg"

View All Tags

Generalized Consensus: Governing Rules

· 5 min read
Sugu Sougoumarane
Creator of Multigres, Vitess

As we solve the problem of durability, we will realize that there is a simple set of governing rules that we will be applying repetitively. We will develop these as we progress in our design. However, we will share their entirety upfront.

If you followed these rules, you should actually be able to implement any kind of consensus system. Here are some definitions and rules:

If you have comments or questions, please start a discussion on the Multigres GitHub repository.

Generalized Consensus: Setting the Requirements

· 7 min read
Sugu Sougoumarane
Creator of Multigres, Vitess

In our previous post, we came up with an informal definition :

A consensus system must ensure that every request is saved elsewhere before it is completed and acknowledged. If there is a failure after the acknowledgment, the system must have the ability to find the saved requests, complete them, and resume operations from that point.

Let us stick to this definition and expand on some of these rules.

If you have comments or questions, please start a discussion on the Multigres GitHub repository.

Generalized Consensus: Defining the Problem

· 5 min read
Sugu Sougoumarane
Creator of Multigres, Vitess

In this blog series, I have the following goals:

  • Propose an alternate and more approachable definition of consensus.
  • Expand the definition into concrete requirements.
  • Break the problem down into goal-oriented rules.
  • Provide algorithms and approaches to satisfy the rules with adequate explanations to prove correctness and safety.
  • Show that existing algorithms are special cases of this generalization.

If you have comments or questions, please start a discussion on the Multigres GitHub repository.

Introducing Generalized Consensus: An Alternate Approach to Distributed Durability

· 4 min read
Sugu Sougoumarane
Creator of Multigres, Vitess

Today, we're releasing a series that presents a fresh perspective on consensus algorithms. Rather than treating consensus as a monolithic black box, we propose a conceptual framework that makes these systems more approachable, adaptable, and flexible.

If you have comments or questions, please start a discussion on the Multigres GitHub repository.

High Availability and Postgres full-sync replication

· 7 min read
Sugu Sougoumarane
Creator of Multigres, Vitess

In order to achieve High Availability (HA) in Postgres, we need to have at least one other standby replica that keeps up with the primary’s changes near-real-time. Using Postgres physical replication is the most common method to achieve this.

High Availability also requires us to solve the problem of distributed durability. After all, we have to make sure that no transactions are lost when we failover to a standby. So, if we can make this work, we can avoid the need for an external system like a mounted cloud drive or other exotic solutions to ensure that we don’t lose data. We could just have all the servers use their local NVME drive for storage. This will serendipitously improve performance due to the drives being an order of magnitude faster than the network, and reduce costs since disk I/O does not incur network cost.

If you have comments or questions, please start a discussion on the Multigres GitHub repository.