---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - en/cookbook/architecture
  - ru/cookbook/architecture
  - href: ru/cookbook/architecture.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/cookbook/architecture.html
title: Архитектура DataLens On-premises
description: >-
  Из статьи вы узнаете, как устроен DataLens On-premises и какие задачи он
  решает.
vcsPath: ru/cookbook/architecture.md
---

# Архитектура DataLens On-premises

## Какие задачи решает DataLens On-premises {#solutions}

{% note info %}

**DataLens On-premises** — это аналитическая BI-платформа (Business Intelligence), которую можно развернуть в виде дистрибутива в вашем контуре: в облаке или на локальном сервере.

{% endnote %}

DataLens работает по принципу **push-down**:

1. Пользователь открывает дашборд.
1. На основе настроек чартов генерируются SQL-запросы (или API-запросы).
1. Запросы отправляются напрямую в источники данных (PostgreSQL, ClickHouse®, Greenplum®).
1. Источник выполняет запрос и возвращает агрегированный результат для визуализации.
1. Данные визуализируются в виде графиков и таблиц и могут быть выгружены как отчет в формате PDF.


{% cut "Схема работы DataLens" %}

![image](../_assets/datalens/cookbook/push-down.png)

{% endcut %}


DataLens хранит в служебной БД PostgreSQL только метаданные: информацию о подключениях (без паролей в открытом виде), датасетах, чартах и дашбордах.

## Как взаимодействуют с сервисом бизнес-пользователи {#dl-users-interaction}

Стандартный путь пользователя:

1. **Создание подключения**. Пользователь указывает реквизиты для доступа к источнику данных.

    
    ![image](../_assets/datalens/cookbook/connection.png)


1. **Создание датасета**. Пользователь описывает модель данных — выбирает таблицы, настраивает связи между ними, создает вычисляемые поля.

    
    Как выбрать данные и настроить связи между ними (на примере продаж в сети магазинов):

    <iframe width="640" height="360" src="https://runtime.video.cloud.yandex.net/player/video/vplvsdzifglrsmi3wjtt?autoplay=0&mute=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" frameborder="0" scrolling="no"></iframe>


1. **Создание чарта**. В специальном интерфейсе (Wizard или QL) пользователь строит визуализацию на основе датасета.

    
    Пример настройки визуализации по объемам продаж с разбивкой по годам, типам доставки и категориям товаров:

    <iframe width="640" height="360" src="https://runtime.video.cloud.yandex.net/player/video/vplvkgn3indmmz7crlyk?autoplay=0&mute=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" frameborder="0" scrolling="no"></iframe>


1. **Сборка дашборда**. Пользователь размещает несколько чартов на одной странице, добавляет фильтры (селекторы) и настраивает связи между ними.

        
    Пример настройки фильтров для сети магазинов — выбор временных промежутков, регионов и отображения визуализаций:

    <iframe width="640" height="360" src="https://runtime.video.cloud.yandex.net/player/video/vplvzutyl4ti5cjfmrv3?autoplay=0&mute=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" frameborder="0" scrolling="no"></iframe>


Подробнее о создании дашбордов вы можете узнать в статье [Создание дашборда в DataLens On-premises](../operations/dashboard/create.md).

## Внутреннее устройство: обзор ключевых компонентов {#components}

Дистрибутив DataLens On-premises состоит из набора Docker-контейнеров (изолированных сред для запуска приложений). Они содержат все необходимое для работы: код, библиотеки, зависимости, конфигурацию и систему файлов. Контейнеры оркестрирует Kubernetes — ПО с открытым исходным кодом для автоматизации развертывания и масштабирования контейнеризированных приложений, а также управления ими в кластере.

Основные сервисы, доступные после установки:

* **Auth** — сервис аутентификации. Управляет входом пользователей в систему.
* **UI** — фронтенд-сервис. Отдает пользовательский интерфейс в браузер. Это то, с чем напрямую взаимодействует пользователь.
* **Control API** — бэкенд-сервис. Управляет подключениями и датасетами.
* **Data API** — бэкенд-сервис. Обрабатывает запросы от чартов, генерирует код запроса к источнику данных и проксирует его выполнение. Это один из самых ресурсоемких компонентов.
* **United Storage (US)** — сервис хранения метаданных. Отвечает за все объекты системы: дашборды, чарты, папки и права доступа к ним. Работает поверх PostgreSQL.


![image](../_assets/datalens/cookbook/components.png)


## Итоги {#results}

Разобрали архитектурные основы DataLens On-premises. Теперь вы знаете, что сервис не хранит данные, а лишь запрашивает их. Понимаете, из каких ключевых компонентов состоит сервис и как с ним работают пользователи.
