Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
88e6ad4
PCSM_deployment_architecture
rasika-chivate Jan 6, 2026
680dd2f
updated the Toc with this topic
rasika-chivate Jan 6, 2026
d8ca190
Update mkdocs-base.yml
rasika-chivate Jan 6, 2026
ef50466
Update architecture.md
rasika-chivate Jan 6, 2026
b727c1b
added image
rasika-chivate Jan 6, 2026
328e22d
Update architecture.md
rasika-chivate Jan 6, 2026
3ae3881
Update architecture.md
rasika-chivate Jan 6, 2026
733abe3
fixed the table
rasika-chivate Jan 6, 2026
b3e2aaa
added image pcsm_target_node_deployment
rasika-chivate Jan 6, 2026
048fe53
Update architecture.md
rasika-chivate Jan 6, 2026
1075536
Update architecture.md
rasika-chivate Jan 6, 2026
284b9a3
Update architecture.md
rasika-chivate Jan 6, 2026
4a760a2
pcsm_source_node_deployment
rasika-chivate Jan 7, 2026
62e8bd8
Update architecture.md
rasika-chivate Jan 7, 2026
26c79cd
Update architecture.md
rasika-chivate Jan 7, 2026
45b5a75
Update architecture.md
rasika-chivate Jan 7, 2026
01e1808
Update architecture.md
rasika-chivate Jan 7, 2026
7abaf96
Update architecture.md
rasika-chivate Jan 7, 2026
41e8b0d
Update architecture.md
rasika-chivate Jan 7, 2026
1ef28d0
Update architecture.md
rasika-chivate Jan 7, 2026
145da2b
updated image
rasika-chivate Jan 7, 2026
b7fdbd1
Create dedicated_host.png
rasika-chivate Jan 8, 2026
26939b1
renamed the file
rasika-chivate Jan 8, 2026
e9513e0
Update pcsm_target_node_deployment.png
rasika-chivate Jan 8, 2026
37c1b63
Update dedicated_host.png
rasika-chivate Jan 8, 2026
b1be8cf
Update .DS_Store
rasika-chivate Jan 8, 2026
e4d3fc2
Update pcsm_source_node_deployment.png
rasika-chivate Jan 8, 2026
eac9c66
Update pcsm_source_node_deployment.png
rasika-chivate Jan 8, 2026
4081bbb
made minor fixes
rasika-chivate Jan 8, 2026
04f0f65
Update architecture.md
rasika-chivate Jan 8, 2026
adacc80
added image label
rasika-chivate Jan 8, 2026
5a37b2b
Update architecture.md
rasika-chivate Jan 8, 2026
a0eb1e7
Update architecture.md
rasika-chivate Jan 8, 2026
320edb9
Update architecture.md
rasika-chivate Jan 8, 2026
e1f2de3
Update architecture.md
rasika-chivate Jan 8, 2026
8159810
Update docs/architecture.md
rasika-chivate Jan 8, 2026
f37d275
Update architecture.md
rasika-chivate Jan 8, 2026
bb9384c
Merge branch 'PCSM_deployment_architecture' of https://github.com/per…
rasika-chivate Jan 8, 2026
ed3655d
Update architecture.md
rasika-chivate Jan 8, 2026
626fb6b
Update dedicated_host.png
rasika-chivate Jan 13, 2026
b2264f4
updated images
rasika-chivate Jan 13, 2026
b2dd7ee
Update .gitignore
rasika-chivate Jan 13, 2026
6da9221
Update docs/architecture.md
rasika-chivate Jan 13, 2026
8a2f826
Update docs/architecture.md
rasika-chivate Jan 13, 2026
b2a1416
Update pcsm_target_node_deployment.png
rasika-chivate Jan 13, 2026
c344ab6
Update pcsm_source_node_deployment.png
rasika-chivate Jan 13, 2026
0fe4b3a
Merge branch 'main' into PCSM_deployment_architecture
rasika-chivate Jan 13, 2026
636ea42
Update .gitignore
rasika-chivate Jan 13, 2026
005551d
Update docs/architecture.md
rasika-chivate Jan 13, 2026
cca3176
Update pcsm_target_node_deployment.png
rasika-chivate Jan 13, 2026
8d4f519
Delete pcsm_dedicated_host.png
rasika-chivate Jan 13, 2026
51e0eb3
Update pcsm_source_node_deployment.png
rasika-chivate Jan 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ __pycache__/
# Allow

!styles/config/vocabularies/Percona/**
.DS_Store
Binary file added docs/.DS_Store
Binary file not shown.
Binary file added docs/_images/dedicated_host.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/pcsm_source_node_deployment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/pcsm_target_node_deployment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
101 changes: 101 additions & 0 deletions docs/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Deployment Architecture

Check warning on line 1 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L1

[Google.Headings] 'Deployment Architecture' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Deployment Architecture' should use sentence-style capitalization.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "WARNING"}

Percona ClusterSync for MongoDB (PCSM) is a middleware synchronization tool that connects source and target clusters. It reads the change stream from the source cluster and applies those changes to the target cluster.

Check notice on line 3 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L3

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 3, "column": 33}}}, "severity": "INFO"}

Check notice on line 3 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L3

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 3, "column": 34}}}, "severity": "INFO"}

Since PCSM operates as a standalone binary process, its placement within your infrastructure can significantly impact performance, particularly in terms of network latency, which can affect replication time.

Check notice on line 5 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L5

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 5, "column": 7}}}, "severity": "INFO"}

You can deploy PCSM using one of three different architectures.

Check notice on line 7 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L7

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 7, "column": 16}}}, "severity": "INFO"}


## Dedicated host (intermediary)

Check notice on line 10 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L10

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 10, "column": 19}}}, "severity": "INFO"}

The PCSM process runs on a dedicated machine, which can be a virtual machine, container, or physical server. This machine is logically placed between the source and target clusters. Since data migration is resource-intensive, it is recommended to install PCSM as close to the target cluster as possible to reduce network latency.

Check notice on line 12 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L12

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 12, "column": 5}}}, "severity": "INFO"}

Check notice on line 12 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L12

[Google.Contractions] Use 'it's' instead of 'it is'.
Raw output
{"message": "[Google.Contractions] Use 'it's' instead of 'it is'.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 12, "column": 227}}}, "severity": "INFO"}

Check notice on line 12 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L12

[Google.Passive] In general, use active voice instead of passive voice ('is recommended').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is recommended').", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 12, "column": 230}}}, "severity": "INFO"}

Check notice on line 12 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L12

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 12, "column": 256}}}, "severity": "INFO"}

!!! info "Recommended use"
This deployment architecture is recommended for production environments as it provides the highest level of isolation and reliability for critical data synchronization.

Check notice on line 15 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L15

[Google.Passive] In general, use active voice instead of passive voice ('is recommended').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is recommended').", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 15, "column": 34}}}, "severity": "INFO"}


![Dedicated host](_images/dedicated_host.png)


| Pros | Cons |
|------|------|
| **Resource isolation**: PCSM has its own dedicated CPU and RAM, ensuring it does not **starve** the source or target databases.| **Network latency**: Adds an extra network hop (Source → PCSM → Target), introducing some latency, which is typically negligible in modern, low-latency networks. |

Check notice on line 23 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L23

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 23, "column": 27}}}, "severity": "INFO"}

Check notice on line 23 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L23

[Google.Contractions] Use 'doesn't' instead of 'does not'.
Raw output
{"message": "[Google.Contractions] Use 'doesn't' instead of 'does not'.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 23, "column": 79}}}, "severity": "INFO"}

Check notice on line 23 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L23

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 23, "column": 179}}}, "severity": "INFO"}

Check notice on line 23 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L23

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 23, "column": 189}}}, "severity": "INFO"}
| **Stability**: In the event that PCSM crashes or becomes unresponsive, both the source and target clusters will remain completely unaffected.| **Infrastructure cost**: Requires provisioning and maintaining an additional compute resource for the PCSM service. |

Check notice on line 24 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L24

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 24, "column": 36}}}, "severity": "INFO"}

Check warning on line 24 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L24

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 24, "column": 110}}}, "severity": "WARNING"}

Check notice on line 24 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L24

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 24, "column": 248}}}, "severity": "INFO"}
| **Scalability**: The PCSM host can be vertically scaled (for example, adding memory for large in-memory buffers) without modifying database hardware. | |

Check notice on line 25 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L25

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 25, "column": 24}}}, "severity": "INFO"}

Check notice on line 25 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L25

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 25, "column": 59}}}, "severity": "INFO"}


## Target node (co-located)

Check notice on line 28 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L28

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 28, "column": 16}}}, "severity": "INFO"}

The PCSM process runs directly on a primary node in the target cluster.

Check notice on line 30 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L30

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 30, "column": 5}}}, "severity": "INFO"}


!!! info "Recommended use"
This deployment architecture is recommended for **one-way migrations** where the target cluster is currently empty and not serving application traffic.

Check notice on line 34 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L34

[Google.Passive] In general, use active voice instead of passive voice ('is recommended').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is recommended').", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 34, "column": 34}}}, "severity": "INFO"}

Check warning on line 34 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L34

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 34, "column": 136}}}, "severity": "WARNING"}


![Target node](_images/pcsm_target_node_deployment.png)

| Pros | Cons |
|------|------|
| **Efficient writes:** Write operations are performed directly on the target, which helps to minimize write latency. | **Limited vertical scalability**: Scaling PCSM on this co-located node requires scaling the entire database server (CPU, RAM, and I/O), which can be unnecessary and costly and may increase resource contention with the target database. |

Check notice on line 41 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L41

[Google.Passive] In general, use active voice instead of passive voice ('are performed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are performed').", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 41, "column": 43}}}, "severity": "INFO"}

Check notice on line 41 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L41

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 41, "column": 164}}}, "severity": "INFO"}

Check notice on line 41 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L41

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 41, "column": 237}}}, "severity": "INFO"}
| **Minimizes impact on the production source cluster:** Resource contention, such as CPU and RAM spikes, affects the target cluster while leaving the production source cluster unaffected.|


## Source node deployment (co-located)

Check notice on line 45 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L45

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 45, "column": 27}}}, "severity": "INFO"}

The PCSM process executes directly on a primary node in the source cluster.

Check notice on line 47 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L47

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 47, "column": 5}}}, "severity": "INFO"}


![Source node](_images/pcsm_source_node_deployment.png)


!!! warning "Recommended use"
This deployment architecture is recommended only for low-traffic source clusters or when the source node has significant available capacity.

Check notice on line 54 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L54

[Google.Passive] In general, use active voice instead of passive voice ('is recommended').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is recommended').", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 54, "column": 34}}}, "severity": "INFO"}


| Pros | Cons |
|------|------|
| **Lowest read latency**: PCSM directly reads local changes from the filesystem or loopback network, which minimizes read overhead.| **Resource contention**: PCSM competes with the running source database for CPU, RAM, and network I/O resources. During heavy synchronization phases, such as the initial sync, this competition can degrade the performance of the production source cluster.|

Check notice on line 59 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L59

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 59, "column": 28}}}, "severity": "INFO"}

Check notice on line 59 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L59

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 59, "column": 160}}}, "severity": "INFO"}
| **Simplicity**: There is no need to provision extra hardware.| **Failure Risk**: If PCSM uses too much memory or causes an Operation system level fault, it may crash the source node.|

Check notice on line 60 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L60

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 60, "column": 87}}}, "severity": "INFO"}


## Choosing the right deployment architecture

| Deployment model | Recommended for | Risk level |
| ---------------- | --------------------------------------- | ---------- |
| Dedicated host | Production workloads and large datasets | Low |
| Target node | One-way migrations to idle targets | Medium |
| Source node | Low-traffic or non-critical sources | High |


## Use cases


=== ":material-server: Dedicated host"
You can use the dedicated host (intermediary) architecture in the following scenarios:

Check notice on line 76 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L76

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 76, "column": 36}}}, "severity": "INFO"}

- When migrating production data where stability, isolation, and predictable performance are critical.

- Suitable for clusters with large data sizes or sustained high write throughput, where PCSM requires significant CPU and memory resources.

- When neither the source nor the target database nodes can tolerate additional CPU, memory, or I/O load from replication processes.


=== ":material-database-arrow-right: Target node (co-located)"

Check notice on line 85 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L85

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 85, "column": 50}}}, "severity": "INFO"}
You can use the target node (co-located) deployment in the following scenarios:

Check notice on line 86 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L86

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 86, "column": 33}}}, "severity": "INFO"}

- When migrating data into a newly provisioned target cluster that is not serving application traffic yet.

- Useful when the target cluster is used for validation, testing, or acceptance before being promoted to production.

- Appropriate when minimizing write latency on the target cluster is more important than isolating replication workloads.

=== ":material-database-arrow-left: Source node (co-located)"

Check notice on line 94 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L94

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 94, "column": 49}}}, "severity": "INFO"}
You can use the source node (co-located) deployment in the following scenarios:

Check notice on line 95 in docs/architecture.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/architecture.md#L95

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "docs/architecture.md", "range": {"start": {"line": 95, "column": 33}}}, "severity": "INFO"}

- When the source cluster handles minimal application traffic and has sufficient spare CPU, memory, and I/O capacity to accommodate PCSM without performance degradation.

- Suitable for non-production environments where temporary performance impact on the source cluster is acceptable.

- Useful when provisioning additional compute resources (such as a dedicated PCSM host) is not possible.
5 changes: 3 additions & 2 deletions mkdocs-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,9 @@ not_in_nav: |
nav:
- Home: index.md
- get-help.md
- About Percona ClusterSync for MongoDB:
- How PCSM works: intro.md
- About Percona Link for MongoDB:
- How PLM works: intro.md
- Deployment architecture: architecture.md
- compare.md
- deployment.md
- limitations.md
Expand Down