+++
title = "Размеры временных рядов"
description = "размеры временного ряда"
keywords = ["harvest", "intro", "guide", "concepts", "timeseries", "labels"]
aliases = ["/docs/harvest/latest/guides/timeseries-dimensions", "/docs/harvest/latest/getting-started/timeseries-dimensions"]
weight = 600
+++

# Размеры временных рядов

В [Введение во временные ряды]({{< relref "timeseries.md#time-series-databases" >}}) вводится понятие _labels_, также называемое _tags_:

> Еще одна особенность TSDB — возможность фильтровать измерения с помощью _tags_. Каждая точка данных помечена тегом, который добавляет контекстную информацию, например, где было выполнено измерение.

Данные временных рядов часто содержат более одного ряда и представляют собой набор из нескольких временных рядов. Многие источники данных Harvest поддерживают этот тип данных.

{{< Figure src="/static/img/docs/example_graph_multi_dim.png" class="docs-image--no-shadow" max-width="850px" >}}

Распространенным случаем является выдача одного запроса для измерения с одним или несколькими дополнительными свойствами в качестве измерений. Например, запрос измерения температуры вместе со свойством местоположения. В этом случае из одного запроса возвращается несколько серий, и каждая серия имеет уникальное местоположение в качестве измерения.

Чтобы идентифицировать уникальные ряды в наборе временных рядов, Harvest сохраняет измерения в _labels_.

## Ярлыки

Каждый временной ряд в Harvest может иметь метки. метки задаются парами ключ/значение для идентификации измерений. Примеры ярлыков могут быть такими: `{location=us}` или `{country=us,state=ma,city=boston}`. В наборе временных рядов комбинация его имени и меток идентифицирует каждый ряд. Например, `температура {страна=сша,штат=ма,город=бостон}`.

Различные источники данных временных рядов имеют собственные измерения или общие шаблоны хранения, которые позволяют извлекать данные в измерения.

Базы данных временных рядов (TSDB) обычно изначально поддерживают размерность. Prometheus также хранит размеры в _labels_. В TSDB, таких как Graphite или OpenTSDB, вместо этого используется термин _tags_.

В табличных базах данных, таких как SQL, эти измерения обычно являются параметрами запроса GROUP BY.

## Несколько измерений в формате таблицы

В SQL или SQL-подобных базах данных, которые возвращают ответы в виде таблиц, дополнительные измерения обычно представляют собой столбцы в таблице ответов на запросы.

### Одно измерение

Например, рассмотрим такой запрос:

```sql
SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T
   СГРУППИРОВАТЬ ПО ВЕДРОМ (время начала, 1 ч), местоположение
   ORDER BY время по возрастанию
```

Может возвращать таблицу с тремя столбцами, каждый из которых имеет типы данных: время, число и строку.

| Время начала| Температура | Локация|
| --------- | ---- | -------- |
| 09:00     | 24   | LGA      |
| 09:00     | 20   | BOS      |
| 10:00     | 26   | LGA      |
| 10:00     | 22   | BOS      |

TФормат таблицы представляет собой _длинный_ отформатированный временной ряд, также называемый _высоким_. Он имеет повторяющиеся метки времени и повторяющиеся значения в Location. В этом случае у нас есть два временных ряда в наборе, которые будут идентифицированы как «Temp {Location=LGA}» и «Temp {Location=BOS}».

Отдельные временные ряды из набора извлекаются с использованием столбца с типом времени «StartTime» в качестве временного индекса временного ряда, столбца с числовым типом «Temp» в качестве имени ряда, а также имени и значений строки с типом «Местоположение». для создания меток, таких как Location=LGA.

### Несколько измерений

Если запрос обновлен для выбора и группировки более чем по одному строковому столбцу, например, `ГРУППИРОВАТЬ ПО ГРУППЕ (Время начала, 1 ч), Местоположение, Датчик`, то добавляется дополнительное измерение:

| Время начала| Температура | Локация|| Сенсор |
| --------- | ---- | -------- | ------ |
| 09:00     | 24   | LGA      | A      |
| 09:00     | 24.1 | LGA      | B      |
| 09:00     | 20   | BOS      | A      |
| 09:00     | 20.2 | BOS      | B      |
| 10:00     | 26   | LGA      | A      |
| 10:00     | 26.1 | LGA      | B      |
| 10:00     | 22   | BOS      | A      |
| 10:00     | 22.2 | BOS      | B      |

В этом случае метки, представляющие размеры, будут иметь два ключа на основе двух строковых столбцов «Местоположение» и «Датчик». Эти данные представляют собой четыре серии: `Temp {Location=LGA,Sensor=A}`, `Temp {Location=LGA,Sensor=B}`, `Temp {Location=BOS,Sensor=A}` и `Temp {Location =BOS,Датчик=B}`.

> **Примечание.** Несколько измерений в настоящее время поддерживаются только в запросах журналов в службе Azure Monitor начиная с версии 7.1.

> **Примечание.** Несколько измерений не поддерживаются таким образом, чтобы сопоставляться с несколькими оповещениями в Harvest, а рассматриваются как несколько условий для одного оповещения. См. документацию по [созданию оповещений с несколькими сериями]({{< relref "../alerting/create-alerts.md#multiple-series" >}}).

### Несколько значений

В случае источников данных, подобных SQL, можно выбрать более одного числового столбца с дополнительными строковыми столбцами, которые будут использоваться в качестве измерений, или без них. Например, `AVG(Температура) AS AvgTemp, MAX(Температура) AS MaxTemp`. Это, в сочетании с несколькими измерениями, может привести к большому количеству рядов. Выбор нескольких значений в настоящее время предназначен только для использования с визуализацией.

Дополнительную техническую информацию о форматах табличных временных рядов и о том, как извлекаются измерения, можно найти в [документации разработчика по фреймам данных как временным рядам]({{< relref "../developers/plugins/data-frames.md#data-frames -как временной ряд" >}}).