diff --git a/content/develop/clients/patterns/indexes/index.md b/content/develop/clients/patterns/indexes/index.md index dfab5476b2..041bd36dfa 100644 --- a/content/develop/clients/patterns/indexes/index.md +++ b/content/develop/clients/patterns/indexes/index.md @@ -182,7 +182,7 @@ index. When you create a new time series using the [`TS.CREATE`]({{< relref "commands/ts.create" >}}) command, you can associate one or more `LABELS` with it. Each label is a name-value pair, where the both name and value are text. Labels serve as a secondary index that allows you to execute queries on groups of time series keys using various time series commands. -See the [time series quickstart guide]({{< relref "/develop/data-types/timeseries/quickstart#labels" >}}) for an example of creating a time series with a label. +See the [time series quickstart guide]({{< relref "/develop/data-types/timeseries#create-a-time-series" >}}) for an example of creating a time series with a label. The [`TS.MGET`]({{< relref "commands/ts.mget" >}}), [`TS.MRANGE`]({{< relref "commands/ts.mrange" >}}), and [`TS.MREVRANGE`]({{< relref "commands/ts.mrevrange" >}}) commands operate on multiple time series based on specified labels or using a label-related filter expression. The [`TS.QUERYINDEX`]({{< relref "commands/ts.queryindex" >}}) command returns all time series keys matching a given label-related filter expression. diff --git a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.2-release-notes.md b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.2-release-notes.md index 29302de2c5..7f8d64a96a 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.2-release-notes.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.2-release-notes.md @@ -78,7 +78,7 @@ Headlines: - Compression added which can reduce memory up to 98% and improve read performance up to 50%. - Stable ingestion time independent of the number of the data points on a time-series. - Reviewed API with performance improvements and removed ambiguity. -- Extended [client support]({{}}) +- Extended [client support]({{}}) (we will blog about this release soon including performance improvements results and the link here) diff --git a/content/operate/oss_and_stack/stack-with-enterprise/stack-quickstart.md b/content/operate/oss_and_stack/stack-with-enterprise/stack-quickstart.md index b72186b95d..d537f82569 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/stack-quickstart.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/stack-quickstart.md @@ -83,5 +83,5 @@ To try out Redis Open Source features, follow the examples provided by the corre - [Redis Query Engine quick start]({{< relref "/develop/get-started/document-database" >}}) - [JSON quick start]({{< relref "/develop/data-types/json/" >}}#use-redisjson) -- [Time series quick start]({{< relref "/develop/data-types/timeseries/quickstart" >}}) +- [Time series quick start]({{< relref "/develop/data-types/timeseries" >}}) - [Probabilistic data structures quick start]({{< relref "/develop/data-types/probabilistic/" >}}) diff --git a/content/operate/oss_and_stack/stack-with-enterprise/timeseries/_index.md b/content/operate/oss_and_stack/stack-with-enterprise/timeseries/_index.md index f5a7f08a9a..b89667586c 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/timeseries/_index.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/timeseries/_index.md @@ -38,13 +38,13 @@ Redis Open Source provides a new data type that uses chunks of memory of fixed s | --- | --- | | {{< image filename="/images/rs/TimeSeries-downsampling1.png" >}} | {{< image filename="/images/rs/TimeSeries-downsampling2.png" >}} | -If you want to keep all of your raw data points indefinitely, your data set grows linearly over time. However, if your use case allows you to have less fine-grained data further back in time, downsampling can be applied. This allows you to keep fewer historical data points by aggregating raw data for a given time window using a given aggregation function. Time series support [downsampling]({{< relref "develop/data-types/timeseries/quickstart#aggregation" >}}) with the following aggregations: avg, sum, min, max, range, count, first, and last. +If you want to keep all of your raw data points indefinitely, your data set grows linearly over time. However, if your use case allows you to have less fine-grained data further back in time, downsampling can be applied. This allows you to keep fewer historical data points by aggregating raw data for a given time window using a given aggregation function. Time series support [downsampling]({{< relref "develop/data-types/timeseries#aggregation" >}}) with the following aggregations: avg, sum, min, max, range, count, first, and last. ### Secondary indexing When using Redis’ core data structures, you can only retrieve a time series by knowing the exact key holding the time series. Unfortunately, for many time series use cases (such as root cause analysis or monitoring), your application won’t know the exact key it’s looking for. These use cases typically want to query a set of time series that relate to each other in a couple of dimensions to extract the insight you need. You could create your own secondary index with core Redis data structures to help with this, but it would come with a high development cost and require you to manage edge cases to make sure the index is correct. -Redis does this indexing for you based on `field value` pairs called [labels]({{< relref "develop/data-types/timeseries/quickstart#labels" >}}). You can add labels to each time series and use them to [filter]({{< relref "develop/data-types/timeseries/quickstart#filtering" >}}) at query time. +Redis does this indexing for you based on `field value` pairs called [labels]({{< relref "develop/data-types/timeseries#create-a-time-series" >}}). You can add labels to each time series and use them to [filter]({{< relref "develop/data-types/timeseries#query-data-points" >}}) at query time. Here’s an example of creating a time series with two labels (sensor_id and area_id are the fields with values 2 and 32 respectively) and a retention window of 60,000 milliseconds: @@ -56,7 +56,7 @@ Here’s an example of creating a time series with two labels (sensor_id and are When you need to query a time series, it’s cumbersome to stream all raw data points if you’re only interested in, say, an average over a given time interval. Time series only transfer the minimum required data to ensure lowest latency. -Here's an example of [aggregation]({{< relref "develop/data-types/timeseries/quickstart#aggregation" >}}) over time buckets of 5,000 milliseconds: +Here's an example of [aggregation]({{< relref "develop/data-types/timeseries#aggregation" >}}) over time buckets of 5,000 milliseconds: ```sh 127.0.0.1:12543> TS.RANGE temperature:3:32 1548149180000 1548149210000 AGGREGATION avg 5000 @@ -151,7 +151,7 @@ Time series can dramatically reduce the memory consumption when compared against ## More info -- [Time series quick start]({{< relref "/develop/data-types/timeseries/quickstart" >}}) +- [Time series quick start]({{< relref "/develop/data-types/timeseries" >}}) - [Time series commands]({{< relref "/operate/oss_and_stack/stack-with-enterprise/timeseries/commands" >}}) - [Time series configuration]({{< relref "/operate/oss_and_stack/stack-with-enterprise/timeseries/config" >}}) - [RedisTimeSeries source](https://github.com/RedisTimeSeries/RedisTimeSeries) diff --git a/content/operate/oss_and_stack/stack-with-enterprise/timeseries/commands.md b/content/operate/oss_and_stack/stack-with-enterprise/timeseries/commands.md index 5206607956..f338068ea3 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/timeseries/commands.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/timeseries/commands.md @@ -19,7 +19,7 @@ The following table lists time series commands. See the command links for more i | [TS.ADD]({{< relref "commands/ts.add" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Appends a sample to a time series. | | [TS.ALTER]({{< relref "commands/ts.alter" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Updates the retention, chunk size, duplicate policy, or labels for an existing time series. | | [TS.CREATE]({{< relref "commands/ts.create" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Creates a new time series. | -| [TS.CREATERULE]({{< relref "commands/ts.createrule" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Creates a compaction rule for [downsampling]({{< relref "develop/data-types/timeseries/quickstart#aggregation" >}}). | +| [TS.CREATERULE]({{< relref "commands/ts.createrule" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Creates a compaction rule for [downsampling]({{< relref "develop/data-types/timeseries#aggregation" >}}). | | [TS.DECRBY]({{< relref "commands/ts.decrby" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Decreases the value of the latest sample in a time series by the specified number. Either modifies the existing sample or adds the decreased value as a new sample, depending on the timestamp option. | | [TS.DEL]({{< relref "commands/ts.del" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Removes all samples between two timestamps for a given time series. | | [TS.DELETERULE]({{< relref "commands/ts.deleterule" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Removes a compaction rule. | @@ -27,9 +27,9 @@ The following table lists time series commands. See the command links for more i | [TS.INCRBY]({{< relref "commands/ts.incrby" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Increases the value of the latest sample in a time series by the specified number. Either modifies the existing sample or adds the increased value as a new sample, depending on the timestamp option. | | [TS.INFO]({{< relref "commands/ts.info" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Returns time series information and statistics. | | [TS.MADD]({{< relref "commands/ts.madd" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Appends multiple samples to one or more time series. | -| [TS.MGET]({{< relref "commands/ts.mget" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Returns multiple samples with [labels]({{< relref "develop/data-types/timeseries/quickstart#labels" >}}) that match the filter. | -| [TS.MRANGE]({{< relref "commands/ts.mrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | For multiple time series, runs a query against samples within a range of timestamps, from earliest to latest. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). | -| [TS.MREVRANGE]({{< relref "commands/ts.mrevrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | For multiple time series, runs a query against samples within a range of timestamps in reverse order, from latest to earliest. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). | -| [TS.QUERYINDEX]({{< relref "commands/ts.queryindex" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Returns the keys of all time series with [labels]({{< relref "/develop/data-types/timeseries/quickstart" >}}#labels) that match the given filters. | -| [TS.RANGE]({{< relref "commands/ts.range" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | From the start of a single time series, runs a query against samples within a range of timestamps. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). | -| [TS.REVRANGE]({{< relref "commands/ts.revrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | From the end of a single time series, runs a query against samples within a range of timestamps in reverse order. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). | +| [TS.MGET]({{< relref "commands/ts.mget" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Returns multiple samples with [labels]({{< relref "develop/data-types/timeseries#create-a-time-series" >}}) that match the filter. | +| [TS.MRANGE]({{< relref "commands/ts.mrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | For multiple time series, runs a query against samples within a range of timestamps, from earliest to latest. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). | +| [TS.MREVRANGE]({{< relref "commands/ts.mrevrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | For multiple time series, runs a query against samples within a range of timestamps in reverse order, from latest to earliest. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). | +| [TS.QUERYINDEX]({{< relref "commands/ts.queryindex" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | Returns the keys of all time series with [labels]({{< relref "/develop/data-types/timeseries#create-a-time-series" >}}) that match the given filters. | +| [TS.RANGE]({{< relref "commands/ts.range" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | From the start of a single time series, runs a query against samples within a range of timestamps. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). | +| [TS.REVRANGE]({{< relref "commands/ts.revrange" >}}) | ✅ Supported

| ✅ Flexible & Annual
✅ Free & Fixed | From the end of a single time series, runs a query against samples within a range of timestamps in reverse order. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). |