Skip to content

Create subquery-replication-boarder.md #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

vshilin
Copy link
Contributor

@vshilin vshilin commented Apr 11, 2025

No description provided.

Copy link
Contributor

@allipatev allipatev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments / suggestions.

Lack of ALTER SESSION variant is crucial, the rest is cosmetic.

Other ideas to consider:

  • This article might belong rather to "Database Features" section.
  • Let's discuss if we want to keep the article in this KB.


Concept of the replication border and corresponding db parameter `-soft_replicationborder_in_numrows` described here:

- [Best Practices](https://docs.exasol.com/db/latest/performance/best_practices.htm?Highlight=replication)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Best Practices](https://docs.exasol.com/db/latest/performance/best_practices.htm?Highlight=replication)
- [Best Practices](https://docs.exasol.com/db/latest/performance/best_practices.htm)


## Background

Concept of the replication border and corresponding db parameter `-soft_replicationborder_in_numrows` described here:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Concept of the replication border and corresponding db parameter `-soft_replicationborder_in_numrows` described here:
Concept of the replication border and corresponding DB parameter `-soft_replicationborder_in_numrows` are described here:

However, there is another undocumented parameter `-subqueryreplicationborder` which plays exactly the same role but only for subquery's temp tables.

- When the Optimizer decides if a subquery or materialized table should be replicated, it uses the subquery replication border parameter. It also defaults to 100000 and can be explicitly altered by using the command-line parameter `-subqueryreplicationborder`, same way as with the standard replication border.
- Increasing this parameter can lead to higher DBRAM usage, which may alter the system's behavior. In some cases, this can result in excessive memory consumption and overall system slowdown. Therefore, please adjust this setting with caution.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Increasing this parameter can lead to higher DBRAM usage, which may alter the system's behavior. In some cases, this can result in excessive memory consumption and overall system slowdown. Therefore, please adjust this setting with caution.
- Increasing this parameter can lead to higher DBRAM usage, which may affect the system's behavior. In some cases, this can result in excessive memory consumption and overall system slowdown. Therefore, please adjust this setting with caution.

- When the Optimizer decides if a subquery or materialized table should be replicated, it uses the subquery replication border parameter. It also defaults to 100000 and can be explicitly altered by using the command-line parameter `-subqueryreplicationborder`, same way as with the standard replication border.
- Increasing this parameter can lead to higher DBRAM usage, which may alter the system's behavior. In some cases, this can result in excessive memory consumption and overall system slowdown. Therefore, please adjust this setting with caution.
- IMPORTANT: This is an undocumented parameter, so we cannot guarantee that its behavior will remain unchanged in the future. However, it has been confirmed that there are no plans to modify this behavior in version 8.
- In v8 the proper way of changing `-soft_replicationborder_in_numrows` is ALTER SYSTEM\SESSION command instead of db command-line parameter. But for the `-subqueryreplicationborder` the same is not provided. So the only way of changing it remains db command-line parameter.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- In v8 the proper way of changing `-soft_replicationborder_in_numrows` is ALTER SYSTEM\SESSION command instead of db command-line parameter. But for the `-subqueryreplicationborder` the same is not provided. So the only way of changing it remains db command-line parameter.
- In v8 the proper way of changing `-soft_replicationborder_in_numrows` is ALTER SYSTEM command instead of DB parameter. But for the `-subqueryreplicationborder` the same is not provided. So the only way of changing it remains DB parameter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants