Skip to content

Commit db1c3da

Browse files
committed
Stubbed out the concepts section with some intros and links
Signed-off-by: Dj Walker-Morgan <dj.walker-morgan@enterprisedb.com>
1 parent c5bbf81 commit db1c3da

11 files changed

+109
-8
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: Advanced Durability
3+
---
4+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: Commit Scopes
3+
---
4+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Conflict Management
3+
---
4+
5+
With PGD Expanded, the presence of multiple writers leads to the possibility, or even the likelihood, of conflicts. Changes to the same rows from different nodes can arrive on a node at any time.
6+
PGD Expanded provides a conflict management system that allows you to define how conflicts are handled in your distributed database environment.
7+
8+
Read more about conflict management in the [Conflict Management reference](/pgd/latest/reference/conflict-management/) documentation.
9+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: Connection Management
3+
---
4+
5+
To ensure that clients can connect to the right nodes in the distributed cluster, EDB Postgres Distributed (PGD) provides a connection management system that allows clients to connect to the appropriate nodes based on their needs.
6+
7+
This system is designed to ensure that clients can access the data they need while maintaining the performance and availability of the cluster.
8+
Unlike Proxy systems, this connection management system is built into the database instance itself, allowing for more efficient and reliable connections.
9+
10+
Read more about the [Connection Management feature in PGD](/pgd/latest/reference/connection-management/) for full details.
11+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Durability
3+
---
4+
5+
How does EDB Postgres Distributed (PGD) ensure durability of transactions?
6+
7+
Durability can be defined as the guarantee that once a transaction has been committed, it will remain so, even in the event of a system failure. In EDB Postgres Distributed (PGD), durability is achieved through a combination of write-ahead logging (WAL) and replication, in combination with the commit scopes available in the cluster and the configuration of the nodes in the cluster.
8+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: Expanded Commit Scopes
3+
---
4+
5+
PGD Expanded allows you to define commit scopes that are more granular or more customised than the standard pre-defined commit scopes available in PGD. This feature is particularly useful for applications that require specific commit behaviors or need to manage complex transaction scenarios.
6+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: Geo-Distributed Clusters
3+
---
4+
5+
Geo-distributed clusters are a powerful feature of PGD which allow you to create a distributed database system that spans multiple geographic locations. This setup is particularly useful for applications that require high availability, low latency, and disaster recovery across different regions. As this feature needs multiple write nodes and multiple distributed groups, it is only available in PGD Expanded.
6+

product_docs/docs/pgd/6/concepts/index.mdx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,32 @@ title: PGD concepts explained
33
navTitle: PGD concepts explained
44
description: The concepts behind EDB Postgres Distributed (PGD) 6.0 and how they work in practice.
55
navigation:
6+
- replication
7+
- nodes-and-groups
8+
- connection-management
9+
- locking
10+
- durability
11+
- commit-scopes
12+
- lag-control
13+
- expanded-commit-scopes
14+
- geo-distributed-clusters
15+
- advanced-durability
16+
- conflict-management
617
---
718

819
## PGD concepts
920

1021
* [Replication](replication)
1122
* [Nodes and groups](nodes-and-groups)
12-
13-
<!--->
23+
* [Connection management](connection-management)
1424
* [Locking](locking)
1525
* [Durability](durability)
1626
* [Commit scopes](commit-scopes)
1727
* [Lag Control](lag-control)
28+
1829
## PGD Expanded concepts
19-
* [Commit scopes for Exp](expanded-commit-scopes)
30+
31+
* [Commit scopes for PGD Expanded](expanded-commit-scopes)
2032
* [Geo-distributed clusters](geo-distributed-clusters)
2133
* [Advanced durability](advanced-durability)
22-
* [Custom configurations](custom-configurations)
2334
* [Conflict management](conflict-management)
24-
* [Replication sets](replication-sets)
25-
26-
</--->
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: Lag Control
3+
---
4+
5+
When a node is lagging behind the rest of the cluster, it can cause issues with data consistency and availability. Lag control is a mechanism to manage this situation by ensuring that the lagging node does not disrupt the overall performance of the cluster.
6+
7+
## Lag Control in PGD
8+
9+
When lag is detected in PGD, the Lag Control feature is activated. This feature is designed to manage the lagging node and ensure that it does not disrupt the overall performance of the cluster. It does this by transparently and temporarily slowing client connections, introducing a commit delay to clients. This allows the lagging node to catch up with the rest of the cluster without impacting the performance of the other nodes.
10+
11+
Read more about the [Lag Control feature in PGD](/pgd/latest/reference/commit-scopes/lag-control/) for full details.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: Locking
3+
---
4+
5+
To prevent conflicts between various operations in the cluster, PGD uses a distributed locking mechanism to ensure the only one node can perform a specific operation at a time.
6+
7+
This is particularly important in a distributed environment where multiple nodes may attempt to modify the same data concurrently.
8+
As PGD Essential is a single-write node cluster, it does not have to deal with distributed locking in the same way, as there is only one node that can perform write operations at any time.
9+
PGD Expaned, however, has multiple write nodes, and so it must will always use distributed locking to ensure integerity.
10+
11+
## Kinds of Locks
12+
13+
PGD uses several kinds of locks to manage concurrent access to data and resources in the cluster:
14+
15+
### DDL locking
16+
17+
DDL (Data Definition Language) locks are used to manage access to database objects such as tables, indexes, and schemas. When a DDL operation is performed, a lock is acquired on the object being modified to prevent other operations from interfering with the change. This ensures that the structure of the database remains consistent and prevents conflicts between concurrent DDL operations. Read more about DDL locking in the [DDL Locking reference](/pgd/latest/reference/ddl/ddl-locking/) documentation.
18+
19+
### DML locking
20+
21+
DML locking is closly related to DDL locking and is used to add an extra layer of protection to a DDL operation being replicated by also halting any DML operations that would conflict with the DDL operation. Again, this is only needed in a multi-write node cluster, and is not used in PGD Essential.
22+
23+
### Which locks are used when?
24+
25+
The locks used in PGD depend on the type of operation being performed and the configuration of the cluster. In general, DDL locks are used for schema changes, while DML locks are used for data modifications. A full list of the locks used in PGD can be found in the [DDL command handling matrix](/pgd/latest/reference/ddl/ddl-command-handling) documentation.
26+

0 commit comments

Comments
 (0)