> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/ru/iot-query/schema-overview/transformation-layer.md).

# Уровень Transformation

Уровень Transformation преобразует сырые данные IoT Query в сущности, готовые для аналитики. Ознакомьтесь с готовыми преобразованиями и принципами обработки данных

{% hint style="info" %}

#### Скоро!

Архитектура слоя трансформации, описанная на этой странице, сейчас находится в разработке. Хотя основные возможности трансформации уже работают, детали реализации могут измениться до финального релиза. Если вас интересует ранний доступ или у вас есть вопросы, свяжитесь <iotquery@navixy.com>.
{% endhint %}

## Что делает слой трансформации

Этот **слой преобразования** обрабатывает сырые данные из **Слой сырых данных** в нормализованные аналитические сущности, готовые к запросам. Если слой Сырые данные содержит все, что собирается с устройств и систем (отдельные точки, события и значения полей, полезные для проверки и устранения неполадок), то слой трансформации превращает эти сырые данные в осмысленные объекты, такие как Поездки, посещения зон и рабочие состояния.

{% hint style="info" icon="lightbulb-exclamation" %}
Вкратце о слое трансформации: слой Сырые данные — это все собранное, а слой трансформации — это то, с чем вы можете работать.
{% endhint %}

Этот промежуточный слой устраняет повторяющуюся ручную подготовку данных и делает ваши данные готовыми для практической аналитики. Операторы автопарков могут отвечать на типовые операционные вопросы без обширной обработки данных, а интеграторы получают стабильную основу для создания масштабируемых решений для отчетности и BI.

Трансформации можно проектировать и настраивать с помощью [**Конструктор трансформаций**](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/transformation-builder.md), визуального инструмента, который позволяет создавать пользовательские аналитические сущности с помощью интерфейса рабочих процессов с перетаскиванием. Подробности о том, как создавать и управлять трансформациями, см. в документации Transformation Builder.

Navixy предоставляет набор готовых типовых трансформаций, которые запускаются автоматически и заполняют `processed_common_data` схему без какой-либо настройки с вашей стороны. Вы можете выполнять запросы к этим данным сразу после подключения к IoT Query. Каждая типовая трансформация также поставляется с шаблоном рабочего процесса, который можно загрузить в Transformation Builder, чтобы изучить логику обработки или адаптировать ее к вашему конкретному сценарию. См. [Общие преобразования](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/common-transformations.md) доступные сущности и их выходные схемы.

## Как организованы данные

Слой трансформации использует динамический подход к схеме, при котором структуры базы данных формируются автоматически на основе активных трансформаций. В отличие от слоя Сырые данные с его фиксированными определениями схем, слой трансформации содержит только те таблицы, которые соответствуют активным в данный момент трансформациям. Доступные таблицы и их структуры зависят от того, какие трансформации настроены в вашей **IoT Query** экземпляру.

Данные слоя трансформации организованы в две схемы PostgreSQL: `processed_common_data` и `processed_custom_data`.

### processed\_common\_data

Этот `processed_common_data` схема содержит трансформации, разработанные и поддерживаемые Navixy. Эта схема общая для всех клиентов и предоставляет стандартизированные аналитические сущности, закрывающие типовые случаи использования телематики. Таблицы появляются в этой схеме по мере того, как Navixy развертывает новые трансформации для удовлетворения широко применимых аналитических требований.

{% hint style="warning" %}
Этот `processed_common_data` схема **доступна внешним клиентам только для чтения**. `processed_custom_data` схему через [Конструктор трансформаций](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/transformation-builder.md).
{% endhint %}

### processed\_custom\_data

Этот `processed_custom_data` схема содержит трансформации, создаваемые для решения уникальных бизнес-требований каждого клиента. У каждого клиента есть изолированный экземпляр этой схемы, поэтому ваши данные не видны другим организациям. Таблицы в этой схеме соответствуют трансформациям, которые вы настраиваете и которыми управляете через [Конструктор трансформаций](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/transformation-builder.md).

Вы полностью распоряжаетесь этой схемой: вы решаете, какие трансформации создавать, как они обрабатывают данные и когда они запускаются. Конструктор трансформаций генерирует конфигурацию и SQL, необходимые для создания ваших пользовательских аналитических сущностей.

#### Что происходит при изменении трансформаций

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

Именно благодаря такому динамическому формированию слой трансформации не предоставляет фиксированных описаний схем, как это делает слой Сырые данные. Доступные таблицы и их структуры отражают конкретные трансформации, настроенные для вашего экземпляра IoT Query.

## Характеристики обработки данных

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

* **Обновления по расписанию.** Каждая трансформация обрабатывает новые записи слоя Сырые данные в соответствии со своим настроенным расписанием. Обновления обычно происходят ежечасно или каждые несколько часов, в зависимости от сложности и настройки трансформации.
* **Окна обработки.** Трансформации работают на основе временных сегментов, чтобы эффективно обрабатывать управляемые порции данных, а не сканировать целые наборы данных. Такой подход обеспечивает баланс между производительностью обработки и актуальностью данных.
* **Поведение при пересчете.** Когда изменения конфигурации запускают пересчет, недавние данные могут показывать кратковременные несоответствия во время активных окон обработки. Эти несоответствия автоматически исчезают после завершения цикла обработки.
* **Поведение, зависящее от схемы.** Трансформации в `processed_common_data` обновляются одновременно для всех клиентов, использующих эту схему, поскольку Navixy централизованно управляет планированием. Трансформации в `processed_custom_data` выполняются независимо для каждого клиента, позволяя вам настраивать планирование и логику обработки под ваши конкретные потребности.

## Что учитывать при выполнении запросов

При написании SQL-запросов к данным слоя трансформации помните о следующем:

* **Используйте полный формат schema.table.** Всегда указывайте таблицы с префиксом схемы, чтобы избежать неоднозначности:

```sql
SELECT *
FROM processed_common_data.table_name
WHERE device_time >= CURRENT_DATE - INTERVAL '7 days';
```

* **Укажите фильтры по временному диапазону.** Добавляйте временные условия в свои `WHERE` предложения, чтобы ограничить объем сканируемых данных. Это повышает производительность запроса и сокращает время выполнения.
* **Проверяйте расписания трансформаций.** Данные в таблицах слоя трансформации отражают последний завершенный цикл обработки. Если вам нужны данные, которым всего несколько минут, слой Сырые данные может оказаться более подходящим до запуска следующего цикла трансформации.
* **Помните, что `processed_common_data` доступна только для чтения.** Используйте эту схему для запросов к стандартизированным сущностям, поддерживаемым Navixy. Чтобы создавать собственные аналитические сущности, настройте трансформации в `processed_custom_data` схему через [Конструктор трансформаций](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/transformation-builder.md).

## Следующие шаги

* [**Конструктор трансформаций**](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/transformation-builder.md): Проектируйте пользовательские аналитические сущности с помощью визуального интерфейса рабочих процессов.
* [**Слой сырых данных**](/docs/analytics/ru/iot-query/schema-overview/bronze-layer.md): Изучите исходные схемы (`raw_telematics_data` и `raw_business_data`) которые поступают в трансформации.
* [**Книга SQL-рецептов**](/docs/analytics/ru/example-queries.md): Изучите шаблоны запросов и лучшие практики работы с таблицами слоя трансформации в Dashboard Studio.
* [**Общие преобразования**](/docs/analytics/ru/iot-query/schema-overview/transformation-layer/common-transformations.md): Изучите готовые аналитические сущности, доступные в `processed_common_data`, включая выходные схемы, примеры запросов и шаблоны Transformation Builder.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/analytics/ru/iot-query/schema-overview/transformation-layer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
