Skip to content

Commit 0a3b058

Browse files
authored
Merge branch 'master' into patch-1
2 parents 0e5a967 + a4e1d29 commit 0a3b058

File tree

6 files changed

+53
-62
lines changed

6 files changed

+53
-62
lines changed

content/shared/influxql-v3-reference/time-and-timezone.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ updated timestamp.
6565
## Query time range
6666

6767
To specify the time range of a query, use conditional expressions in the
68-
[`WHERE` clause](/influxdb/cloud-dedicated/reference/influxql/where/) that
68+
[`WHERE` clause](/influxdb/version/reference/influxql/where/) that
6969
compare the value of the `time` column to an absolute timestamp or a relative
7070
timestamp.
7171

content/shared/v3-distributed-admin-custom-partitions/_index.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
When writing data to {{< product-name >}}, the InfluxDB v3 storage engine stores data in [Apache Parquet](https://parquet.apache.org/) format in the [Object store](/influxdb/cloud-dedicated/reference/internals/storage-engine/#object-store). Each Parquet file represents a _partition_--a logical grouping of data.
1+
When writing data to {{< product-name >}}, the InfluxDB v3 storage engine stores data in [Apache Parquet](https://parquet.apache.org/) format in the [Object store](/influxdb/version/reference/internals/storage-engine/#object-store). Each Parquet file represents a _partition_--a logical grouping of data.
22
By default, InfluxDB partitions each table _by day_.
33
If this default strategy yields unsatisfactory performance for single-series queries,
44
you can define a custom partitioning strategy by specifying tag values and different time intervals to optimize query performance for your specific schema and workload.
@@ -20,8 +20,8 @@ you can define a custom partitioning strategy by specifying tag values and diffe
2020
>
2121
> Consider custom partitioning if:
2222
>
23-
> 1. You have taken steps to [optimize your queries](/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/optimize-queries/), and
24-
> 2. Performance for _single-series queries_ (querying for a specific [tag value](/influxdb/cloud-dedicated/reference/glossary/#tag-value) or [tag set](/influxdb/cloud-dedicated/reference/glossary/#tag-set)) is still unsatisfactory.
23+
> 1. You have taken steps to [optimize your queries](/influxdb/version/query-data/troubleshoot-and-optimize/optimize-queries/), and
24+
> 2. Performance for _single-series queries_ (querying for a specific [tag value](/influxdb/version/reference/glossary/#tag-value) or [tag set](/influxdb/version/reference/glossary/#tag-set)) is still unsatisfactory.
2525
>
2626
> Before choosing a partitioning strategy, weigh the [advantages](#advantages), [disadvantages](#disadvantages), and [limitations](#limitations) of custom partitioning.
2727
@@ -40,21 +40,21 @@ storage structure to improve query performance specific to your schema and workl
4040
## Disadvantages
4141

4242
Using custom partitioning may increase the load on other parts of the
43-
[InfluxDB v3 storage engine](/influxdb/cloud-dedicated/reference/internals/storage-engine/),
43+
[InfluxDB v3 storage engine](/influxdb/version/reference/internals/storage-engine/),
4444
but you can scale each part individually to address the added load.
4545

4646
{{% note %}}
4747
_The weight of these disadvantages depends upon the cardinality of
4848
tags and the specificity of time intervals used for partitioning._
4949
{{% /note %}}
5050

51-
- **Increased load on the [Ingester](/influxdb/cloud-dedicated/reference/internals/storage-engine/#ingester)**
51+
- **Increased load on the [Ingester](/influxdb/version/reference/internals/storage-engine/#ingester)**
5252
as it groups data into smaller partitions and files.
53-
- **Increased load on the [Catalog](/influxdb/cloud-dedicated/reference/internals/storage-engine/#catalog)**
53+
- **Increased load on the [Catalog](/influxdb/version/reference/internals/storage-engine/#catalog)**
5454
as more references to partition Parquet file locations are stored and queried.
55-
- **Increased load on the [Compactor](/influxdb/cloud-dedicated/reference/internals/storage-engine/#compactor)**
55+
- **Increased load on the [Compactor](/influxdb/version/reference/internals/storage-engine/#compactor)**
5656
as it needs to compact more partition Parquet files.
57-
- **Increased costs associated with [Object storage](/influxdb/cloud-dedicated/reference/internals/storage-engine/#object-storage)**
57+
- **Increased costs associated with [Object storage](/influxdb/version/reference/internals/storage-engine/#object-storage)**
5858
as more partition Parquet files are created and stored.
5959
- **Increased latency**. The amount of time for InfluxDB to process a query and return results increases linearly, although slightly, with the total partition count for a table.
6060
- **Risk of decreased performance for queries that don't use tags in the WHERE clause**.
@@ -74,10 +74,10 @@ After you have considered the [advantages](#advantages), [disadvantages](#disadv
7474
custom partitioning, use the guides in this section to:
7575

7676
1. Learn [how partitioning works](#how-partitioning-works)
77-
2. Follow [best practices](/influxdb/cloud-dedicated/admin/custom-partitions/best-practices/) for defining partitions and managing partition
77+
2. Follow [best practices](/influxdb/version/admin/custom-partitions/best-practices/) for defining partitions and managing partition
7878
growth
79-
3. [Define custom partitions](/influxdb/cloud-dedicated/admin/custom-partitions/define-custom-partitions/) for your data
80-
4. Take steps to [limit the number of partition files](/influxdb/cloud-dedicated/admin/custom-partitions/best-practices/#limit-the-number-of-partition-files)
79+
3. [Define custom partitions](/influxdb/version/admin/custom-partitions/define-custom-partitions/) for your data
80+
4. Take steps to [limit the number of partition files](/influxdb/version/admin/custom-partitions/best-practices/#limit-the-number-of-partition-files)
8181

8282
## How partitioning works
8383

@@ -88,7 +88,7 @@ and determines the time interval that InfluxDB partitions data by.
8888
Partition templates use tag values and
8989
[Rust strftime date and time formatting syntax](https://docs.rs/chrono/latest/chrono/format/strftime/index.html).
9090

91-
_For more detailed information, see [Partition templates](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/)._
91+
_For more detailed information, see [Partition templates](/influxdb/version/admin/custom-partitions/partition-templates/)._
9292

9393
### Partition keys
9494

@@ -319,8 +319,8 @@ production,line=B,station=wld temp=106.5,qty=43i 1704070800000000000
319319

320320
When querying data:
321321

322-
1. The [Catalog](/influxdb/cloud-dedicated/reference/internals/storage-engine/#catalog)
323-
provides the v3 query engine ([Querier](/influxdb/cloud-dedicated/reference/internals/storage-engine/#querier))
322+
1. The [Catalog](/influxdb/version/reference/internals/storage-engine/#catalog)
323+
provides the v3 query engine ([Querier](/influxdb/version/reference/internals/storage-engine/#querier))
324324
with the locations of partitions that contain the queried time series data.
325325
2. The query engine reads all rows in the returned partitions to identify what
326326
rows match the logic in the query and should be included in the query result.
@@ -329,7 +329,7 @@ The faster the query engine can identify what partitions to read and then read
329329
the data in those partitions, the more performant queries are.
330330

331331
_For more information about the query lifecycle, see
332-
[InfluxDB v3 query life cycle](/influxdb/cloud-dedicated/reference/internals/storage-engine/#query-life-cycle)._
332+
[InfluxDB v3 query life cycle](/influxdb/version/reference/internals/storage-engine/#query-life-cycle)._
333333

334334
##### Query example
335335

content/shared/v3-distributed-admin-custom-partitions/best-practices.md

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ query engine to more quickly identify what partitions contain the relevant data.
2121

2222
Partitioning using distinct values of tags with many (10K+) unique values can
2323
actually hurt query performance as partitions are created for each unique tag value.
24-
Instead, use [tag buckets](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-bucket-part-templates)
24+
Instead, use [tag buckets](/influxdb/version/admin/custom-partitions/partition-templates/#tag-bucket-part-templates)
2525
to partition by high-cardinality tags.
2626
This method of partitioning groups tag values into "buckets" and partitions by bucket.
2727
{{% /note %}}
@@ -33,46 +33,37 @@ If points don't have a value for the tag, InfluxDB can't store them in the corre
3333

3434
## Avoid over-partitioning
3535

36-
As you plan your partitioning strategy, keep in mind that data can be
37-
"over-partitioned"--meaning partitions are so granular that queries end up
38-
having to retrieve and read many partitions from the object store, which
39-
hurts query performance.
36+
As you plan your partitioning strategy, keep in mind that over-partitioning your data can hurt query performance. If partitions are too granular, queries may need to retrieve and read many partitions from the [Object store](/influxdb/version/reference/internals/storage-engine/#object-store).
4037

41-
- Balance the partition time interval with the actual amount of data written
42-
during each interval. If a single interval doesn't contain a lot of data,
43-
it is better to partition by larger time intervals.
44-
- Don't partition by tags that you typically don't use in your query workload.
45-
- Don't partition by distinct values of high-cardinality tags.
46-
Instead, [use tag buckets](#use-tag-buckets-for-high-cardinality-tags) to
47-
partition by these tags.
38+
- Balance the partition time interval with the actual amount of data written during each interval. If a single interval doesn't contain a lot of data, partition by larger time intervals.
39+
- Avoid partitioning by tags that you typically don't use in your query workload.
40+
- Avoid partitioning by distinct values of high-cardinality tags. Instead, [use tag buckets](#use-tag-buckets-for-high-cardinality-tags) to partition by these tags.
4841

4942
## Limit the number of partition files
5043

51-
Avoid exceeding **10,000** total partition files.
44+
Avoid exceeding **10,000** total partitions.
5245
Limiting the total partition count can help manage system performance and costs.
5346

54-
While planning your strategy include the following steps to keep the total
55-
partition count below 10,000 files over the next few years:
47+
While planning your strategy, take the following steps to limit your total
48+
partition count.
49+
We currently recommend planning to keep the total partition count below 10,000.
5650

5751
- [Estimate the total partition count](#estimate-the-total-partition-count) for the lifespan of your data
58-
- Take the following steps to limit the total partition count:
59-
60-
- **Set a [database retention period](/influxdb/cloud-dedicated/admin/databases/#retention-period)**
61-
to prevent the number of files from growing unbounded.
62-
- **Partition by month or year** to [avoid over-partitioning](#avoid-over-partitioning)
63-
and creating too many partition files.
64-
- **Don't partition on high cardinality tags** unless you also use [tag buckets](#use-tag-buckets-for-high-cardinality-tags)
52+
- **Set a [database retention period](/influxdb/version/admin/databases/#retention-period)**
53+
to prevent the number of partitions from growing unbounded
54+
- **Partition by month or year** to [avoid over-partitioning](#avoid-over-partitioning)
55+
- **Don't partition on high cardinality tags** unless you also use [tag buckets](#use-tag-buckets-for-high-cardinality-tags)
6556

6657
### Estimate the total partition count
6758

68-
Use the following formula to estimate the total partition file count over the
59+
Use the following formula to estimate the total partition count over the
6960
lifetime of the database (or retention period):
7061

7162
```text
7263
total_partition_count = (cardinality_of_partitioned_tag) * (data_lifespan / partition_duration)
7364
```
7465

75-
- `total_partition_count`: The number of partition files in [Object storage](/influxdb/cloud-dedicated/reference/internals/storage-engine/#object-storage)
66+
- `total_partition_count`: The number of partition files in [Object storage](/influxdb/version/reference/internals/storage-engine/#object-storage)
7667
- `cardinality_of_partitioned_tag`: The number of distinct values for a tag
77-
- `data_lifespan`: The [database retention period](/influxdb/cloud-dedicated/admin/databases/#retention-period), if set, or the expected lifetime of the database
78-
- `partition_duration`: The partition time interval, defined by the [tine part template](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
68+
- `data_lifespan`: The [database retention period](/influxdb/version/admin/databases/#retention-period), if set, or the expected lifetime of the database
69+
- `partition_duration`: The partition time interval, defined by the [time part template](/influxdb/version/admin/custom-partitions/partition-templates/#time-part-templates)

content/shared/v3-distributed-admin-custom-partitions/define-custom-partitions.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
Use the [`influxctl` CLI](/influxdb/cloud-dedicated/reference/cli/influxctl/)
1+
Use the [`influxctl` CLI](/influxdb/version/reference/cli/influxctl/)
22
to define custom partition strategies when creating a database or table.
33
By default, {{< product-name >}} partitions data by day.
44

55
The partitioning strategy of a database or table is determined by a
6-
[partition template](/influxdb/cloud-dedicated/admin/custom-partitions/#partition-templates)
7-
which defines the naming pattern for [partition keys](/influxdb/cloud-dedicated/admin/custom-partitions/#partition-keys).
6+
[partition template](/influxdb/version/admin/custom-partitions/#partition-templates)
7+
which defines the naming pattern for [partition keys](/influxdb/version/admin/custom-partitions/#partition-keys).
88
Partition keys uniquely identify each partition.
99
When a partition template is applied to a database, it becomes the default template
1010
for all tables in that database, but can be overridden when creating a
@@ -23,15 +23,15 @@ You can't update a partition template on an existing resource.
2323
{{% /warn %}}
2424

2525
Use the following command flags to identify
26-
[partition template parts](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates):
26+
[partition template parts](/influxdb/version/admin/custom-partitions/partition-templates/#tag-part-templates):
2727

28-
- `--template-tag`: An [InfluxDB tag](/influxdb/cloud-dedicated/reference/glossary/#tag)
28+
- `--template-tag`: An [InfluxDB tag](/influxdb/version/reference/glossary/#tag)
2929
to use in the partition template.
30-
- `--template-tag-bucket`: An [InfluxDB tag](/influxdb/cloud-dedicated/reference/glossary/#tag)
30+
- `--template-tag-bucket`: An [InfluxDB tag](/influxdb/version/reference/glossary/#tag)
3131
and number of "buckets" to group tag values into.
3232
Provide the tag key and the number of buckets to bucket tag values into
3333
separated by a comma: `tagKey,N`.
34-
- `--template-timeformat`: A [Rust strftime date and time](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
34+
- `--template-timeformat`: A [Rust strftime date and time](/influxdb/version/admin/custom-partitions/partition-templates/#time-part-templates)
3535
string that specifies the time format in the partition template and determines
3636
the time interval to partition by.
3737

@@ -40,7 +40,7 @@ A partition template can include up to 7 total tag and tag bucket parts
4040
and only 1 time part.
4141
{{% /note %}}
4242

43-
_View [partition template part restrictions](/influxdb/cloud-dedicated/admin/custom-partitions/partition-templates/#restrictions)._
43+
_View [partition template part restrictions](/influxdb/version/admin/custom-partitions/partition-templates/#restrictions)._
4444

4545
{{% note %}}
4646
#### Always provide a time format when using custom partitioning
@@ -95,7 +95,7 @@ influxctl table create \
9595

9696
Replace the following in your command:
9797

98-
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb/cloud-dedicated/admin/databases/)
98+
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb/version/admin/databases/)
9999

100100
<!--actual test
101101
@@ -127,7 +127,7 @@ rm /shared/temp_tables.txt
127127

128128
## Example partition templates
129129

130-
Given the following [line protocol](/influxdb/cloud-dedicated/reference/syntax/line-protocol/)
130+
Given the following [line protocol](/influxdb/version/reference/syntax/line-protocol/)
131131
with a `2024-01-01T00:00:00Z` timestamp:
132132

133133
```text

content/shared/v3-distributed-admin-custom-partitions/partition-templates.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Use partition templates to define the patterns used to generate partition keys.
22
A partition key uniquely identifies a partition and is used to name the partition
3-
Parquet file in the [Object store](/influxdb/cloud-dedicated/reference/internals/storage-engine/#object-store).
3+
Parquet file in the [Object store](/influxdb/version/reference/internals/storage-engine/#object-store).
44

55
A partition template consists of 1-8 _template parts_---dimensions to partition data by.
66
Three types of template parts exist:
77

8-
- **tag**: An [InfluxDB tag](/influxdb/cloud-dedicated/reference/glossary/#tag)
8+
- **tag**: An [InfluxDB tag](/influxdb/version/reference/glossary/#tag)
99
to partition by.
10-
- **tag bucket**: An [InfluxDB tag](/influxdb/cloud-dedicated/reference/glossary/#tag)
10+
- **tag bucket**: An [InfluxDB tag](/influxdb/version/reference/glossary/#tag)
1111
and number of "buckets" to group tag values into. Data is partitioned by the
1212
tag bucket rather than each distinct tag value.
1313
- {{< req type="key" >}} **time**: A Rust strftime date and time string that specifies the time interval
@@ -79,7 +79,7 @@ customerID,500
7979
```
8080

8181
Values of the `customerID` tag are bucketed into 500 distinct "buckets."
82-
Each bucket is identified by the remainder of the tag value hashed into a 32bit
82+
Each bucket is identified by the remainder of the tag value hashed into a 32-bit
8383
integer divided by the specified number of buckets:
8484

8585
```rust
@@ -108,8 +108,8 @@ Time part templates use a limited subset of the
108108
[Rust strftime date and time formatting syntax](https://docs.rs/chrono/latest/chrono/format/strftime/index.html)
109109
to specify time format in partition keys.
110110
Time part templates can be daily (`%Y-%m-%d`), monthly (`%Y-%m`), or yearly (`%Y`).
111-
InfluxDB uses the smallest unit of time included in the time part template as
112-
the partition interval.
111+
InfluxDB partitions data by the smallest unit of time included in the time part
112+
template.
113113

114114
InfluxDB supports only [date specifiers](#date-specifiers) in time part templates.
115115

content/shared/v3-distributed-admin-custom-partitions/view-partitions.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ If you detect a schema change or a non-functioning query example, please
2828

2929
## Query partition information from system tables
3030

31-
Use the [`influxctl query` command](/influxdb/cloud-dedicated/reference/cli/influxctl/query/)
31+
Use the [`influxctl query` command](/influxdb/version/reference/cli/influxctl/query/)
3232
and SQL to query partition-related information from InfluxDB system tables.
3333
Provide the following:
3434

3535
- **Enable system tables** with the `--enable-system-tables` command flag.
36-
- **Database token**: A [database token](/influxdb/cloud-dedicated/admin/tokens/#database-tokens)
36+
- **Database token**: A [database token](/influxdb/version/admin/tokens/#database-tokens)
3737
with read permissions on the specified database. Uses the `token` setting from
38-
the [`influxctl` connection profile](/influxdb/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles)
38+
the [`influxctl` connection profile](/influxdb/version/reference/cli/influxctl/#configure-connection-profiles)
3939
or the `--token` command flag.
4040
- **Database name**: The name of the database to query information about.
4141
Uses the `database` setting from the
42-
[`influxctl` connection profile](/influxdb/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles)
42+
[`influxctl` connection profile](/influxdb/version/reference/cli/influxctl/#configure-connection-profiles)
4343
or the `--database` command flag.
4444
- **SQL query**: The SQL query to execute.
4545
Pass the query in one of the following ways:

0 commit comments

Comments
 (0)