Skip to content

Commit 3a439c8

Browse files
authored
[docs] Move 'Merge Engine' to the top-level of 'Table Design' (#2300)
1 parent 9f484fd commit 3a439c8

File tree

17 files changed

+32
-36
lines changed

17 files changed

+32
-36
lines changed

website/docs/engine-flink/ddl.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The following properties can be set if using the Fluss catalog:
2727
| bootstrap.servers | required | (none) | Comma separated list of Fluss servers. |
2828
| default-database | optional | fluss | The default database to use when switching to this catalog. |
2929
| client.security.protocol | optional | PLAINTEXT | The security protocol used to communicate with brokers. Currently, only `PLAINTEXT` and `SASL` are supported, the configuration value is case insensitive. |
30-
| `client.security.{protocol}.*` | optional | (none) | Client-side configuration properties for a specific authentication protocol. E.g., client.security.sasl.jaas.config. More Details in [authentication](../security/authentication.md) |
30+
| `client.security.{protocol}.*` | optional | (none) | Client-side configuration properties for a specific authentication protocol. E.g., client.security.sasl.jaas.config. More Details in [authentication](security/authentication.md) |
3131
| `{lake-format}.*` | optional | (none) | Extra properties to be passed to the lake catalog. This is useful for configuring sensitive settings, such as the username and password required for lake catalog authentication. E.g., `paimon.jdbc.password = pass`. |
3232

3333
The following statements assume that the current catalog has been switched to the Fluss catalog using the `USE CATALOG <catalog_name>` statement.
@@ -62,7 +62,7 @@ DROP DATABASE my_db;
6262

6363
### Primary Key Table
6464

65-
The following SQL statement will create a [Primary Key Table](table-design/table-types/pk-table/index.md) with a primary key consisting of shop_id and user_id.
65+
The following SQL statement will create a [Primary Key Table](table-design/table-types/pk-table.md) with a primary key consisting of shop_id and user_id.
6666
```sql title="Flink SQL"
6767
CREATE TABLE my_pk_table (
6868
shop_id BIGINT,

website/docs/engine-flink/delta-joins.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ For example:
130130
- Full primary key: `(city_id, order_id)`
131131
- Bucket key: `city_id`
132132

133-
This yields an **index** on the prefix key `city_id`, so that you can perform [Prefix Key Lookup](/docs/engine-flink/lookups/#prefix-lookup) by the `city_id`.
133+
This yields an **index** on the prefix key `city_id`, so that you can perform [Prefix Key Lookup](/engine-flink/lookups.md#prefix-lookup) by the `city_id`.
134134

135135
In this setup:
136136
* The delta join operator uses the prefix key (`city_id`) to retrieve only relevant right-side records matching each left-side event.

website/docs/engine-flink/options.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ See more details about [ALTER TABLE ... SET](engine-flink/ddl.md#set-properties)
8383
| table.datalake.freshness | Duration | 3min | It defines the maximum amount of time that the datalake table's content should lag behind updates to the Fluss table. Based on this target freshness, the Fluss service automatically moves data from the Fluss table and updates to the datalake table, so that the data in the datalake table is kept up to date within this target. If the data does not need to be as fresh, you can specify a longer target freshness time to reduce costs. |
8484
| table.datalake.auto-compaction | Boolean | false | If true, compaction will be triggered automatically when tiering service writes to the datalake. It is disabled by default. |
8585
| table.datalake.auto-expire-snapshot | Boolean | false | If true, snapshot expiration will be triggered automatically when tiering service commits to the datalake. It is disabled by default. |
86-
| table.merge-engine | Enum | (None) | Defines the merge engine for the primary key table. By default, primary key table uses the [default merge engine(last_row)](table-design/table-types/pk-table/merge-engines/default.md). It also supports two merge engines are `first_row`, `versioned` and `aggregation`. The [first_row merge engine](table-design/table-types/pk-table/merge-engines/first-row.md) will keep the first row of the same primary key. The [versioned merge engine](table-design/table-types/pk-table/merge-engines/versioned.md) will keep the row with the largest version of the same primary key. The `aggregation` merge engine will aggregate rows with the same primary key using field-level aggregate functions. |
86+
| table.merge-engine | Enum | (None) | Defines the merge engine for the primary key table. By default, primary key table uses the [default merge engine(last_row)](table-design/merge-engines/default.md). It also supports two merge engines are `first_row`, `versioned` and `aggregation`. The [first_row merge engine](table-design/merge-engines/first-row.md) will keep the first row of the same primary key. The [versioned merge engine](table-design/merge-engines/versioned.md) will keep the row with the largest version of the same primary key. The `aggregation` merge engine will aggregate rows with the same primary key using field-level aggregate functions. |
8787
| table.merge-engine.versioned.ver-column | String | (None) | The column name of the version column for the `versioned` merge engine. If the merge engine is set to `versioned`, the version column must be set. |
8888
| table.delete.behavior | Enum | ALLOW | Controls the behavior of delete operations on primary key tables. Three modes are supported: `ALLOW` (default for default merge engine) - allows normal delete operations; `IGNORE` - silently ignores delete requests without errors; `DISABLE` - rejects delete requests and throws explicit errors. This configuration provides system-level guarantees for some downstream pipelines (e.g., Flink Delta Join) that must not receive any delete events in the changelog of the table. For tables with `first_row` or `versioned` or `aggregation` merge engines, this option is automatically set to `IGNORE` and cannot be overridden. Note: For `aggregation` merge engine, when set to `allow`, delete operations will remove the entire record. This configuration only applicable to primary key tables. |
8989
| table.changelog.image | Enum | FULL | Defines the changelog image mode for primary key tables. This configuration is inspired by similar settings in database systems like MySQL's `binlog_row_image` and PostgreSQL's `replica identity`. Two modes are supported: `FULL` (default) - produces both UPDATE_BEFORE and UPDATE_AFTER records for update operations, capturing complete information about updates and allowing tracking of previous values; `WAL` - does not produce UPDATE_BEFORE records. Only INSERT, UPDATE_AFTER (and DELETE if allowed) records are emitted. When WAL mode is enabled with default merge engine (no merge engine configured) and full row updates (not partial update), an optimization is applied to skip looking up old values, and in this case INSERT operations are converted to UPDATE_AFTER events. This mode reduces storage and transmission costs but loses the ability to track previous values. Only applicable to primary key tables. |
@@ -157,4 +157,4 @@ See more details about [ALTER TABLE ... SET](engine-flink/ddl.md#set-properties)
157157
| client.filesystem.security.token.renewal.time-ratio | Double | 0.75 | Ratio of the token's expiration time when new credentials for access filesystem should be re-obtained. |
158158
| client.metrics.enabled | Boolean | false | Enable metrics for client. When metrics is enabled, the client will collect metrics and report by the JMX metrics reporter. |
159159
| client.security.protocol | String | PLAINTEXT | The security protocol used to communicate with brokers. Currently, only `PLAINTEXT` and `SASL` are supported, the configuration value is case insensitive. |
160-
| client.security.\{protocol\}.* | optional | (none) | Client-side configuration properties for a specific authentication protocol. E.g., client.security.sasl.jaas.config. More Details in [authentication](../security/authentication.md) |
160+
| client.security.\{protocol\}.* | optional | (none) | Client-side configuration properties for a specific authentication protocol. E.g., client.security.sasl.jaas.config. More Details in [authentication](security/authentication.md) |

website/docs/engine-flink/procedures.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ SHOW PROCEDURES;
1818

1919
## Access Control Procedures
2020

21-
Fluss provides procedures to manage Access Control Lists (ACLs) for security and authorization. See the [Security](../security/overview.md) documentation for more details.
21+
Fluss provides procedures to manage Access Control Lists (ACLs) for security and authorization. See the [Security](/security/overview.md) documentation for more details.
2222

2323
### add_acl
2424

website/docs/maintenance/operations/graceful-shutdown.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,6 @@ Monitor shutdown-related metrics:
131131

132132
## See Also
133133

134-
- [Configuration](../configuration.md)
135-
- [Monitoring and Observability](../observability/monitor-metrics.md)
134+
- [Configuration](maintenance/configuration.md)
135+
- [Monitoring and Observability](maintenance/observability/monitor-metrics.md)
136136
- [Upgrading Fluss](upgrading.md)

website/docs/maintenance/operations/updating-configs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Currently, the supported dynamically updatable server configurations include:
1818
- `kv.rocksdb.shared-rate-limiter.bytes-per-sec`: Control RocksDB flush and compaction write rate shared across all RocksDB instances on the TabletServer. The rate limiter is always enabled. Set to a lower value (e.g., 100MB) to limit the rate, or a very high value to effectively disable rate limiting.
1919

2020

21-
You can update the configuration of a cluster with [Java client](#using-java-client) or [Flink Procedures](../../engine-flink/procedures.md#cluster-configuration-procedures).
21+
You can update the configuration of a cluster with [Java client](#using-java-client) or [Flink Procedures](engine-flink/procedures.md#cluster-configuration-procedures).
2222

2323
### Using Java Client
2424

website/docs/streaming-lakehouse/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ Some powerful features it provides are:
4343
- **Analytical Streams**: The union reads help data streams to have the powerful analytics capabilities. This reduces complexity when developing streaming applications, simplifies debugging, and allows for immediate access to live data insights.
4444
- **Connect to Lakehouse Ecosystem**: Fluss keeps the table metadata in sync with data lake catalogs while compacting data into Lakehouse. As a result, external engines like Spark, StarRocks, Flink, and Trino can read the data directly. They simply connect to the data lake catalog.
4545

46-
Currently, Fluss supports [Paimon](integrate-data-lakes/paimon.md), [Iceberg](integrate-data-lakes/iceberg.md), and [Lance](integrate-data-lakes/lance.md) as Lakehouse Storage, more kinds of data lake formats are on the roadmap.
46+
Currently, Fluss supports [Paimon](streaming-lakehouse/integrate-data-lakes/paimon.md), [Iceberg](streaming-lakehouse/integrate-data-lakes/iceberg.md), and [Lance](streaming-lakehouse/integrate-data-lakes/lance.md) as Lakehouse Storage, more kinds of data lake formats are on the roadmap.

website/docs/table-design/data-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Data Types"
3-
sidebar_position: 10
3+
sidebar_position: 5
44
---
55

66
# Data Types

website/docs/table-design/table-types/pk-table/merge-engines/_category_.json renamed to website/docs/table-design/merge-engines/_category_.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"label": "Merge Engines",
3-
"position": 2
3+
"position": 3
44
}

website/docs/table-design/table-types/pk-table/merge-engines/aggregation.md renamed to website/docs/table-design/merge-engines/aggregation.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,8 +1012,8 @@ For detailed information about Exactly-Once implementation, please refer to: [FI
10121012

10131013
## See Also
10141014

1015-
- [Default Merge Engine](./default.md)
1016-
- [FirstRow Merge Engine](./first-row.md)
1017-
- [Versioned Merge Engine](./versioned.md)
1018-
- [Primary Key Tables](../index.md)
1019-
- [Fluss Client API](../../../../apis/java-client.md)
1015+
- [Default Merge Engine](table-design/merge-engines/default.md)
1016+
- [FirstRow Merge Engine](table-design/merge-engines/first-row.md)
1017+
- [Versioned Merge Engine](table-design/merge-engines/versioned.md)
1018+
- [Primary Key Tables](table-design/table-types/pk-table.md)
1019+
- [Fluss Client API](apis/java-client.md)

0 commit comments

Comments
 (0)