Skip to content

Commit

Permalink
update normalization recommendations (#18905)
Browse files Browse the repository at this point in the history
* update normalization recommendations
  • Loading branch information
taroface authored Sep 17, 2024
1 parent e19f852 commit 6800a94
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 24 deletions.
18 changes: 12 additions & 6 deletions src/current/_includes/v23.1/performance/reduce-hot-spots.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@

- Place parts of the records that are modified by different transactions in different tables. That is, increase [normalization](https://wikipedia.org/wiki/Database_normalization). However, there are benefits and drawbacks to increasing normalization.

- Benefits:
- Benefits of increasing normalization:

- Can improve performance for write-heavy workloads. This is because, with increased normalization, a given business fact must be written to one place rather than to multiple places.
- Allows separate transactions to modify related underlying data without causing [contention](#transaction-contention).
- Can improve performance for read-heavy workloads.
- Reduces the chance of data inconsistency, since a given business fact must be written only to one place.
- Reduces or eliminates data redundancy.
- Uses less disk space.

- Drawbacks:
- Drawbacks of increasing normalization:

- Can reduce performance for read-heavy workloads. This is because increasing normalization results in more joins, and can make the SQL more complicated in other ways.
- More complex data model.
- Increases the chance of data inconsistency.
- Increases data redundancy.
- Can degrade performance for write-heavy workloads.

- In general:

- Increase normalization for write-intensive and read/write-intensive transactional workloads.
- Do not increase normalization for read-intensive reporting workloads.

- If the application strictly requires operating on very few different index keys, consider using [`ALTER ... SPLIT AT`]({% link {{ page.version.version }}/alter-table.md %}#split-at) so that each index key can be served by a separate group of nodes in the cluster.

Expand Down
18 changes: 12 additions & 6 deletions src/current/_includes/v23.2/performance/reduce-hot-spots.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@

- Place parts of the records that are modified by different transactions in different tables. That is, increase [normalization](https://wikipedia.org/wiki/Database_normalization). However, there are benefits and drawbacks to increasing normalization.

- Benefits:
- Benefits of increasing normalization:

- Can improve performance for write-heavy workloads. This is because, with increased normalization, a given business fact must be written to one place rather than to multiple places.
- Allows separate transactions to modify related underlying data without causing [contention](#transaction-contention).
- Can improve performance for read-heavy workloads.
- Reduces the chance of data inconsistency, since a given business fact must be written only to one place.
- Reduces or eliminates data redundancy.
- Uses less disk space.

- Drawbacks:
- Drawbacks of increasing normalization:

- Can reduce performance for read-heavy workloads. This is because increasing normalization results in more joins, and can make the SQL more complicated in other ways.
- More complex data model.
- Increases the chance of data inconsistency.
- Increases data redundancy.
- Can degrade performance for write-heavy workloads.

- In general:

- Increase normalization for write-intensive and read/write-intensive transactional workloads.
- Do not increase normalization for read-intensive reporting workloads.

- If the application strictly requires operating on very few different index keys, consider using [`ALTER ... SPLIT AT`]({% link {{ page.version.version }}/alter-table.md %}#split-at) so that each index key can be served by a separate group of nodes in the cluster.

Expand Down
18 changes: 12 additions & 6 deletions src/current/_includes/v24.1/performance/reduce-hot-spots.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@

- Place parts of the records that are modified by different transactions in different tables. That is, increase [normalization](https://wikipedia.org/wiki/Database_normalization). However, there are benefits and drawbacks to increasing normalization.

- Benefits:
- Benefits of increasing normalization:

- Can improve performance for write-heavy workloads. This is because, with increased normalization, a given business fact must be written to one place rather than to multiple places.
- Allows separate transactions to modify related underlying data without causing [contention](#transaction-contention).
- Can improve performance for read-heavy workloads.
- Reduces the chance of data inconsistency, since a given business fact must be written only to one place.
- Reduces or eliminates data redundancy.
- Uses less disk space.

- Drawbacks:
- Drawbacks of increasing normalization:

- Can reduce performance for read-heavy workloads. This is because increasing normalization results in more joins, and can make the SQL more complicated in other ways.
- More complex data model.
- Increases the chance of data inconsistency.
- Increases data redundancy.
- Can degrade performance for write-heavy workloads.

- In general:

- Increase normalization for write-intensive and read/write-intensive transactional workloads.
- Do not increase normalization for read-intensive reporting workloads.

- If the application strictly requires operating on very few different index keys, consider using [`ALTER ... SPLIT AT`]({% link {{ page.version.version }}/alter-table.md %}#split-at) so that each index key can be served by a separate group of nodes in the cluster.

Expand Down
18 changes: 12 additions & 6 deletions src/current/_includes/v24.2/performance/reduce-hot-spots.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@

- Place parts of the records that are modified by different transactions in different tables. That is, increase [normalization](https://wikipedia.org/wiki/Database_normalization). However, there are benefits and drawbacks to increasing normalization.

- Benefits:
- Benefits of increasing normalization:

- Can improve performance for write-heavy workloads. This is because, with increased normalization, a given business fact must be written to one place rather than to multiple places.
- Allows separate transactions to modify related underlying data without causing [contention](#transaction-contention).
- Can improve performance for read-heavy workloads.
- Reduces the chance of data inconsistency, since a given business fact must be written only to one place.
- Reduces or eliminates data redundancy.
- Uses less disk space.

- Drawbacks:
- Drawbacks of increasing normalization:

- Can reduce performance for read-heavy workloads. This is because increasing normalization results in more joins, and can make the SQL more complicated in other ways.
- More complex data model.
- Increases the chance of data inconsistency.
- Increases data redundancy.
- Can degrade performance for write-heavy workloads.

- In general:

- Increase normalization for write-intensive and read/write-intensive transactional workloads.
- Do not increase normalization for read-intensive reporting workloads.

- If the application strictly requires operating on very few different index keys, consider using [`ALTER ... SPLIT AT`]({% link {{ page.version.version }}/alter-table.md %}#split-at) so that each index key can be served by a separate group of nodes in the cluster.

Expand Down

0 comments on commit 6800a94

Please sign in to comment.