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

# Измерения временных рядов

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

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

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

{{< рисунок src="/static/img/docs/example_graph_multi_dim.png" класс="docs-image--no-shadow" максимальная ширина ="850 пикселей" >}}

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

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

## Ярлыки

Каждый временной ряд в Harvest необязательно имеет метки. метки задаются парами ключ/значение для идентификации измерений. Примерами меток могут быть `{местоположение = сша}` или `{страна = США, штат = Массачусетс, город = Бостон}`. В пределах набора временных рядов комбинация его названия и меток идентифицирует каждую серию. Например, `температура {страна =США,штат =Массачусетс,город = Бостон}`.

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

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

В табличных базах данных, таких как SQL, эти измерения обычно являются параметрами запроса "ГРУППИРОВАТЬ ПО".

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

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

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

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

``sql
ВЫБЕРИТЕ ВЕДРО (Время начала, 1 час), СРЕДНЕЕ значение (Температура) В КАЧЕСТВЕ температуры, Местоположение ИЗ T
  ГРУППИРОВКА ПО КОРЗИНЕ (Время начала, 1 час), Местоположение
  ПОРЯДОК ПО времени asc
```

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

| Время начала | Температура | Местоположение |
| --------- | ---- | -------- |
| 09:00 | 24 | LGA |
| 09:00 | 20 | ЛС |
| 10:00 | 26 | LGA |
| 10:00 | 22 | ЛС |

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

Отдельные временные ряды из набора извлекаются с использованием столбца с вводом времени "startTime" в качестве временного индекса временного ряда, столбца с числовым вводом "Temp" в качестве имени ряда, а также имени и значений столбца со строковым вводом "Location` для построения меток, таких как Местоположение =ЛГА.

### Множество измерений

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

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

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

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

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

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

В случае SQL-подобных источников данных можно выбрать более одного числового столбца, с дополнительными строковыми столбцами или без них, которые будут использоваться в качестве измерений. Например, "СРЕДНЯЯ (Температура) КАК Средняя температура, МАКСИМАЛЬНАЯ (Температура) КАК Максимальная температура". Это, в сочетании с несколькими измерениями, может привести к большому количеству серий. Выбор нескольких значений в настоящее время предназначен только для использования с визуализацией.

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