Skip to content

Commit

Permalink
docs(ds): Apply remarks
Browse files Browse the repository at this point in the history
  • Loading branch information
ieQu1 committed Feb 23, 2024
1 parent c18fc6a commit dd2e353
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions rel/i18n/emqx_ds_schema.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ builtin.desc:
builtin_data_dir.label: "Database location"
builtin_data_dir.desc:
"""~
File system directory where the database is located.~"""
File system directory where the database is located.
By default it is equal to `node.data_dir`.~"""

builtin_n_shards.label: "Number of shards"
builtin_n_shards.desc:
Expand All @@ -33,19 +35,32 @@ builtin_layout.desc:
"""~
Storage layout is a method of arranging messages from various topics and clients on disc.
Depending on the type of workload and the topic structure, different types of strategies for storing the data can be employed to maximize efficency of the replay.~"""
Depending on the type of workload and the topic structure, different types of strategies for storing the data can be employed to maximize efficiency of reading messages from the durable storage.~"""

layout_wildcard_optimized.label: "Wildcard-optimized storage layout"
layout_wildcard_optimized.desc:
"""~
_Wildcard-optimized_ layout is designed to maximize the throughput of the wildcard subscriptions covering large numbers of topics.~"""
_Wildcard-optimized_ layout is designed to maximize the throughput of wildcard subscriptions covering large numbers of topics.
For example, it can handle scenarios where a very large number of clients publish data to the topics containing their client ID, such as: `sensor/%device-version%/%clientid%/temperature`, `sensor/%device-version%/%clientid%/pressure`, etc.
This layout will automatically group such topics into a single stream, so a client subscribing to a topic filter containing wildcards (such as `sensor/+/+/temperature`) will be able to consume messages published by all devices as a single batch.
This layout is efficient for non-wildcard subscriptions as well.~"""

wildcard_optimized_epoch_bits.label: "Epoch size"
wildcard_optimized_epoch_bits.label: "Epoch bits"
wildcard_optimized_epoch_bits.desc:
"""~
Wildcard-optimized layout partitions messages recorded at different times into "epochs".
Each epoch can be consumed by the subscribers as a batch.
Generally, larger epochs lead to higher throughput of subscribers, however currently they may increase latency.~"""
Reading messages from a single epoch can be done very efficiently, so larger epochs improve the throughput of subscribers, but may increase end-to-end latency
Time span covered by each epoch grows exponentially with the value of `epoch_bits`:
- `epoch_bits = 1`: epoch time = 1 millisecond
- `epoch_bits = 2`: 2 milliseconds
...
- `epoch_bits = 10`: 1024 milliseconds
- `epoch_bits = 13`: ~8 seconds
....~"""

egress_max_items.label: "Max items"
egress_max_items.desc:
Expand Down

0 comments on commit dd2e353

Please sign in to comment.