BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по ClickHouse » Энциклопедия ClickHouse » datalens clickhouse

datalens clickhouse

 

Краткое введение

Эта глава посвящена связке datalens clickhouse как ключевого паттерна современных аналитических платформ. Мы разберём, как через DataLens организовать визуализацию данных из ClickHouse, какие архитектурные решения позволяют сохранять консистентность и производительность, и какие организационные практики нужны для эффективной эксплуатации такой связки. В рамках курса мы искажённо не используем бытовые формулировки, а предлагаем конкретные техники внедрения, примеры конфигураций и практические рекомендации, которые применимы как в открытой среде, так и в российских дата-подразделениях.

 

Введение

ClickHouse как аналитическая база для быстрых запросов к большим объёмам данных является базовым столпом современных хранилищ и аналитических слоёв. DataLens - инструмент визуализации и исследовательской аналитики, который обеспечивает интерактивные дашборды, автообновления, совместную работу и доступ к данным через понятные представления. Комбинация этих технологий позволяет не только строить панели для бизнес-аналитиков, но и внедрять управляемые контракты данных, обеспечивающие соответствие требованиям безопасности и регуляторики.

Важно помнить: цель данной главы - показать не только технические детали, но и почему именно такая архитектура работает в условиях реальных проектов: большой горизонт масштабирования, многоконтурный доступ к данным, гибкая политика разграничения доступа и устойчивость к перегрузкам. В конце главы будут вопросы-ответы (FAQ), помогающие закрепить практические выводы и устранить распространённые заблуждения.

 

Теоретические основы и терминология

  • DataLens: визуализационный слой, позволяющий создавать интерактивные панели, отчёты и «льбы» аналитики поверх источников данных. DataLens поддерживает визуальные конструкторы, наборы метрик, фильтры, drill-down и т.д.
  • ClickHouse: колоночное хранилище данных на базе движка MergeTree и его вариантов; поддерживает массовые параллельные запросы, репликацию, агрегации на лету и сложные аналитические функции.
  • d (datalens clickhouse): терминологически мы используем как константное словосочетание, означающее связку DataLens и ClickHouse. В контексте курса это обозначение всего цикла: от подключения источника и определения модели данных до построения дашбордов и мониторинга.
  • Лени (Lens): концептуальные представления в DataLens, каждая «линза» - это набор визуализаций на основе конкретной модели данных.
  • Модель данных: слой абстракций над фактическими таблицами ClickHouse, включающий представления (VIEW), материализованные представления (MATERIALIZED VIEW) и предагрегированные сущности.
  • Row-level security (RLS): политики ограничения доступа на уровне строк для запросов к данным. В ClickHouse реализуется через row policies, что критически важно для мультитенантной визуализации через DataLens.
  • Materialized views и pre-aggregation: механизмы предварительной агрегации и предзагрузки результатов, помогающие снизить задержки визуализации.
  • ETL/ELT: процессы извлечения, трансформации и загрузки данных из источников в ClickHouse и далее в DataLens.
  • Governance и данные контракты: договорённости по качеству данных, ответственностям, обновлениям и доступам.

Теоретически через DataLens мы задаём пользовательские представления данных, но физически запросы к базам чаще всего уходят в ClickHouse - где и выполняются агрегации, фильтры и расчёты. В связке важно понимать, как проектировать модель данных, чтобы визуальные представления не приводили к тяжёлым операциям на уровне P10000 таблиц, и как обеспечить согласованность между источником и отображением.

 

Методологии и подходы

  • Моделирование на уровне представлений: используйте VIEW для семантики, скрывая сложности реальных таблиц. DataLens работает с готовыми источниками и позволяет отображать их через преднастроенные линзы.
  • Архитектура многоуровневая: источники данных (ClickHouse) → слой подготовки (материализованные представления и предагрегированные таблицы) → DataLens (визуализация) → пользовательские панели и алерты.
  • Безопасность по умолчанию: внедряем RLS на уровне ClickHouse и закрепляем соответствующие роли в DataLens. Это позволяет не доверять клиентскому коду и снижает риск утечки данных.
  • Построение semantic layer: держите единый слой моделей, который люди используют для анализа. Это снижает дублирование логики и упрощает governance.
  • Эволюционные итерации: начинайте с минимально необходимого набора дашбордов и постепенно добавляйте новые линзы и метрики, чтобы держать сроки и качество.

     

Примеры подходов:

  • Паттерн «канонический набор измерений» (dimensions) и «фактов» (facts) для повторного использования в разных линзах.
  • Применение mv/buffer-предагрегатов для часто запрашиваемых временных срезов (последние 24 часа, текущий месяц и т. п.).
  • Разделение оперативной визуализации и исторических панелей: оперативные панели - ближе к DataLens, исторические - через архивные источники.

     

Архитектура и технологическая реализация

Описание архитектурной картины:

  • Источник данных: ClickHouse кластеры на MergeTree-основанных таблицах. В реальных проектах часто применяется репликация и шардирование для повышения доступности и пропускной способности.
  • Обработчик данных: ETL/ELT-пайплайны, которые подготавливают данные для анализа, обеспечивая качество и корректную временную метрику. В некоторых случаях применяется Kafka как очередь изменений, затем данные попадают в ClickHouse.
  • Модели и представления: набор представлений и материализованных представлений, которые формируют «semantic layer» и ускоряют частые запросы для DataLens.
  • Визуализация: DataLens как UI/слой доступа, позволяющий бизнес-пользователям и аналитикам создавать линзы, дашборды и алерты.
  • Безопасность и разграничение доступа: определяется через политики в ClickHouse и роли DataLens, а также через параметры аутентификации и авторизации на уровне API DataLens.
  • Кэширование и оптимизация: DataLens может кэшировать результаты, а ClickHouse - результаты запросов в кэш-памяти, в зависимости от конфигурации и нагрузки.
  • Мониторинг и управление производительностью: сбор метрик по времени выполнения запросов, задержкам обновления витрин и нагрузке на CPU/память. Важно обеспечить наблюдаемость на уровне DataLens и ClickHouse.

ASCII-схема архитектуры:


[ Источник: ClickHouse cluster ]
         │
         ├─ Materialized Views / Pre-aggregates
         │
         ├─ Views (Semantic Layer)
         │
         ├─ DataLens (Lens / Dashboards)
         │     ├─ Доступ по ролям
         │     └─ Алерты и подписки
         │
         └─ Пользователи / BI-подразделения

Ключевые технические решения и практики:

  • Выбор подходящего движка хранения в ClickHouse: для больших баз данных рекомендуется использовать MergeTree-подобные движки с репликацией и шардингом, а также поддержкой TTL для устаревших данных.
  • Оптимизация запросов: используйте предварительную агрегацию на уровне Materialized Views и Partition pruning для ускорения выборок по времени.
  • Внедрение Row-Level Security: политики на уровне таблиц (ROW POLICY) позволяют фильтровать данные в соответствии с ролями пользователя.
  • Интеграция DataLens: настройка источников данных, создание линз и дашбордов, экспорт и пачки обновлений, настройка доступов и совместной работы.
  • Производительность и SLA: настройка кэширования и периодов обновления данных, балансировка между частотой обновления и нагрузкой на систему.

Пример реализации на практике:

  • Определение модели данных:

    • Таблица продаж: sales
    • Таблица времени: time_dim
    • Таблица клиентов: customers
    • Материализованные представления для агрегаций: daily_sales_mv, weekly_sales_mv
  • Пример SQL (ClickHouse):

    
    CREATE TABLE IF NOT EXISTS sales
    (
        event_date Date,
        shop_id UInt32,
        product_id UInt32,
        quantity UInt32,
        total_amount Float64,
        region String
    ) ENGINE = MergeTree()
    PARTITION BY toYYYYMM(event_date)
    ORDER BY (shop_id, event_date);
    
    CREATE MATERIALIZED VIEW IF NOT EXISTS daily_sales_mv
    ENGINE = AggregatingMergeTree()
    PARTITION BY toYYYYMM(event_date)
    ORDER BY (shop_id, event_date)
    POPULATE AS
    SELECT
        shop_id,
        toDate(event_date) AS date,
        sum(quantity) AS total_quantity,
        sum(total_amount) AS total_amount
    FROM sales
    GROUP BY shop_id, toDate(event_date);
    
  • Пример политики Row-Level Security в ClickHouse (упрощённый):

    
    CREATE ROW POLICY user_region_policy ON sales
    AS
    BEGIN
      (region IN ('RU', 'EU')) OR (region = current_user_region())
    END;
    
  • Пример конфигурации DataLens для подключения к ClickHouse (псевдоконфигурация):

    
    {
      "data_source": {
        "type": "clickhouse",
        "host": "clickhouse.company.local",
        "port": 8123,
        "user": "datalens_user",
        "password": "••••••",
        "database": "analytics"
      },
      "lens": {
        "name": "Sales overview",
        "metrics": [
          {"field": "total_amount", "agg": "sum"},
          {"field": "total_quantity", "agg": "sum"}
        ],
        "dimensions": ["date", "shop_id", "region"]
      }
    }
    
  • Архитектурный паттерн multi-tenant: хранение данных с разграничением по клиентах и организациям в ClickHouse через разделение баз и таблиц; DataLens на уровне UI обеспечивает роль- и контекст-обеспечение.

     

Организационные и процессные аспекты

  • Ответственности команд: аналитики** - формулировка требований к линзам; инженеры - поддержка инфраструктуры и обеспечение производительности; data governance - политики качества, полноты и соответствия.
  • Контракты данных: набор метрик, определение каждого измерения, правила обновления и источники данных. Документация должна быть доступна в едином реестре данных (data catalog).
  • Управление изменениями: регистр изменений слоев данных, тесная связь с бизнес-юнитами и DataOps-практики.
  • Обеспечение качества данных: периодическая валидация с использованием тестовых наборов и мониторинга изменений в данных.
  • Безопасность и аудит: контроль доступа, журналы аудита и политики соответствия (регуляторика, защита персональных данных).

     

Технические детали реализации (алгоритмы, схемы, протоколы, интеграции)

  • Принципы интеграции DataLens с ClickHouse:

    • Наличие семантики на уровне представлений, чтобы визуальные панели не зависели от изменений в физических таблицах.
    • Использование Materialized Views в ClickHouse для снижения времени расчётов в DataLens.
    • Настройка Row Policies для обеспечения индивидуального доступа к данным в рамках DataLens.
    • Оптимизация передаваемых через API DataLens данных: пагинация, лимиты, фильтры на уровне линз.
  • Протоколы взаимодействия:

    • ClickHouse HTTP API для запросов из DataLens и внешних клиентов.
    • DataLens API для управления линзами, дашбордами и пользователями (упрощённо - создание линзы, публикация, подписки).
  • Пример методов оптимизации запроса в ClickHouse:

    • Применение TTL для старых данных, чтобы не перегружать запросы.
    • Распределённая агрегация в MergeTree с использованием ключей сортировки.
    • Кэширование промежуточных результатов на уровне DataLens.
  • Интеграции с open-source инструментами:

    • Apache Superset и ClickHouse: визуализация через внешний источник данных; пример архитектуры без DataLens.
    • Metabase и Redash: простые панели, но DataLens даёт расширенную функциональность совместной работы и политики доступа.
    • Grafana: для мониторинга и оперативной аналитики, может дополнять DataLens для специфических кейсов.
  • Примеры российских продуктов и практик:

    • Яндекс DataLens - родной продукт экосистемы Яндекса, особенно хорошо интегрируется с ClickHouse, поддерживает понятные механизмы granularity, совместную работу и доступ через роли.
    • Инфраструктура ClickHouse в крупных российских банков и телеком-компаниях, где DataLens используется для бизнес-аналитики и оперативной визуализации.
    • Внедрение в российских организациях часто сопровождается локализацией наборов данных, политиками доступа и локальными репликациями, что требует адаптированных стратегий Data Governance.

       

Риски, ограничения и типовые ошибки

  • Неправильная семантика моделей: если линзы не отражают фактическую логику бизнес-метрик, аналитики получают некорректные выводы.
  • Перегрузка DataLens: создание слишком большого количества линз на одном источнике может привести к ухудшению отклика и управляемости.
  • Неправильная настройка Row Policies: риск утечки данных между группами пользователей, если политики не охватывают все сценарии.
  • Отсутствие устойчивости к задержкам: без предагрегатов и MV запросы к большим таблицам могут быть медленными.
  • Зависимость от SLA источников: неверно настроенное обновление кэшей может приводить к рассинхронизации между данными и визуализацией.
  • Проблемы миграции: изменения в схемах ClickHouse без обновления линз и MV могут ломать дашборды.
  • Безопасность и аудит: недостаточная журнальная база может привести к несанкционированному доступу к данным.

     

Заключение

Связка datalens clickhouse представляет собой мощный инструмент для построения устойчивых, безопасных и масштабируемых аналитических систем. Правильная архитектура требует продуманного слоя semantic model, четкой политики доступа, продуманной стратегии агрегаций и контроля обновления данных. В рамках курса мы рассмотрели как построить архитектуру, как организовать процессы, как реализовать техническую часть и какие риски учитывать в реальной эксплуатации. В итоге вы получаете гибкую платформу визуализации, которая может удовлетворять требованиям как малого стартапа, так и крупной enterprise-структуры с жесткими регуляторными ограничениями.

 

FAQ (7-10 вопросов с развёрнутыми ответами)

  1. Что такое datalens clickhouse и чем она хороша для аналитики?
  • d alens clickhous e - это связка DataLens и ClickHouse, которая обеспечивает быстрый доступ к большим объёмам данных через дружелюбный визуализационный слой. DataLens предоставляет гибкие линзы и дашборды, а ClickHouse обеспечивает быстрые запросы и масштабируемость. Это сочетание оптимально для бизнес-аналитики с регламентами по безопасности, мульти-арендной среде и частым обновлениям данных.
  1. Как лучше организовать архитектуру под datalens clickhouse?
  • Рекомендуемый подход: (1) ClickHouse cluster с шардированием и репликацией; (2) слой семантики через представления и материализованные представления для предагрегированных данных; (3) DataLens как визуализационный слой; (4) политики RLS и роли для доступа; (5) инфраструктура мониторинга и уведомлений. Этот паттерн обеспечивает масштабируемость, управляемость и безопасность.
  1. Какие механизмы безопасности критически важны?
  • Основные механизмы: Row-Level Security (RLS) на уровне ClickHouse, роли и политики доступа в DataLens, аудит доступа, минимальные привилегии, безопасное хранение учётных данных и периодические ревизии прав. Важно обеспечить соответствие требованиям организации и регуляторным нормам.
  1. Какие техники повышения производительности применяются?
  • Применяйте Materialized Views и предагрегаты для часто запрашиваемых временных окон, используйте партиционирование таблиц, prune по времени, избегайте тяжелых зикающих запросов на уровне линз. Опционально - кэш DataLens и оптимизированные схемы индексации.
  1. Как организовать процесс governance и данные контракты?
  • Необходимо иметь единый реестр данных (data catalog), документацию по моделям, определения метрик и источников, регламенты обновления и ответственность за данные. Governance-процедуры должны охватывать создание линз, изменения моделей и подписки на дашборды.
  1. Какие типичные ошибки встречаются на внедрении?
  • Неправильная семантика линз, отсутствие MV и MV-правил, несогласованные обновления данных, слабый контроль доступа, слишком агрессивное использование кэширования, отсутствие мониторинга производительности.
  1. Какие open-source и российские альтернативы стоит рассмотреть?
  • Open-source: Apache Superset, Metabase, Redash, Grafana** - для разных сценариев визуализации и анализа.
  • Российские продукты и практики: Яндекс DataLens как нативная связка с ClickHouse; интеграции ClickHouse со сторонними инструментами в российских компаниях; локализация и соответствие требованиям регуляций.
  1. Как начать пилотный проект datalens clickhouse?
  • Определите предметную область и набор линз; подготовьте модель данных и MV; настройте RLS и роли; создайте першу линзу в DataLens; запланируйте итеративную дорожную карту с ограниченным набором метрик; внедрите мониторинг и процесс обновления данных. Затем постепенно расширяйте линзы и дашборды.
  1. Какие сценарии использования особенно подходят для datalens clickhouse?
  • Панели продаж и маркетинга с быстрым обновлением, дашборды клиентской аналитики и сегментации, операционная аналитика (RLS обеспечивает безопасность), финансовая аналитика с предагрегатами и историческими сравнениями.
  1. Какие шаги в документации стоит отслеживать?
  • Важно документировать политику доступа, схему данных, описание линз и метрик, определения таблиц и MV, регламенты обновления и процесс изменения схемы данных. Документация должна быть доступна всем стейкхолдерам и обновляться вместе с изменениями в моделях.
← Предыдущая статья
движок clickhouse
Следующая статья →
clickhouse хранение

 

Узнать стоимость решенияЗапросить видео презентацию

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • ПАО «Транснефть» – крупнейшая российская нефтепроводная компания. «Транснефть» обеспечивает транспортировку более 85% добываемых в России нефти и нефтепродуктов.

  • КАМИ – компания-лидер по поставкам тяжёлых станков в России, занимающаяся продажей и обслуживанием оборудования для обработки металла и дерева, изготовления мебели и не только. На сегодняшний день в компании работают более 1300 человек, запущено 10 обучающих центров, в продаже более 7000 единиц техники. 

  • ООО "Уральская транспортная компания" — это транспортно-логистическая компания, специализирующаяся на железнодорожных перевозках грузов, создана в 2009 году.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.