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 » Clickhouse row: концепции, архитектура и практики работы со строками в столбцовой базе ClickHouse

Clickhouse row: концепции, архитектура и практики работы со строками в столбцовой базе ClickHouse

 

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

Эта глава посвящена теме, которая часто вызывает вопросы у аналитиков и ИТ-директоров: как понятие "row" сочетается с архитектурой ClickHouse, ориентированной на колонарное хранение. Мы рассмотрим, что такое "clickhouse row" в контексте реальных сценариев эксплуатации: от ingestion сценариев и моделирования данных до реализации гибких паттернов хранения, агрегаций и быстрого доступа к строковым данным внутри колонарной системы. Важность темы обусловлена необходимостью проектирования аналитических конвейеров, где данные проходят через этапы нормализации и денормализации, а затем эффективно агрегируются на больших объемах. В конце главы вы получите практические советы по планированию архитектуры, выбору движков и реализаций, а также примеры кода и архитектурных решений, применимых как в открытой экосистеме, так и в российской инфраструктуре.

 

Введение

ClickHouse - это широко применяемая в промышленной эксплуатации колоночная СУБД, ориентированная на высокопроизводительные аналитические запросы. Основной принцип - хранение данных по колонкам, а не по строкам, что обеспечивает эффективные сканирования больших наборов столбцов. Однако в реальных сценариях бизнеса часто возникает необходимость работать с последовательностями строк, хранить параметры объектов в строковом формате или реализовывать row-ориентированные паттерны внутри общего столбцового контекста.

 

Терминологически важно различать концепции:

  • row-ориентированные сценарии: обработка отдельной записи целиком, часто встречается при экспорте событий, логах или внешних источниках;
  • columnar-хранилище: эффективная агрегация и фильтрация по наборам столбцов, применение сжатия и быстрого доступа к нужным поля;
  • гибридные подходы: денормализация через столбцовые структуры, но сохранение естественных строковых единиц в отдельных колонках или вложенных типах.

Эта глава исследует, как проектировать схемы и конвейеры так, чтобы минимизировать слепые места между row-потребностями и columnar-эффективностью ClickHouse, какие паттерны и инструменты поддерживают такие сценарии, и как избегать типичных ошибок при проектировании.

 

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

  • Столбцовая архитектура ClickHouse и концепции MergeTree:
    • данные разделены на части (parts), которые периодически мерджатся;
    • ключи сортировки ORDER BY формируют порядок размещения в каждом разделе;
    • разделы и сортировка влияют на фильтрацию и скорость сканирования отдельных столбцов.
  • Row и row-подходы внутри ClickHouse:
    • в большинстве сценариев row-данные поступают в таблицу как целостности событий; внутри системы они работают через столбцовые структуры;
    • для row-ориентированных сценариев применяются денормализация, вложенные типы (Tuple, Array, Nested), а также матричные и агрегатные функции, позволяющие выйти за пределы простого сквозного сканирования по строкам.
  • Вложенные типы и их роль:
    • Tuple, Array, Map - позволяют хранить структурированные данные без необходимости превращать каждое поле в отдельную таблицу;
    • Nested - облегчает моделирование и запрос по вложенным полям, сохраняя естественную семантику строк в рамках столбцовой базы.
  • Материализованные представления и движки:
    • Materialized View, Distributed, Kafka, REST, HTTP-интерфейсы;
    • движки семейства MergeTree и их вариации (ReplacingMergeTree, SummingMergeTree, AggregatingMergeTree, CollapsingMergeTree) для поддержки разных паттернов агрегаций и версий строк.
  • Интеграционные принципы:
    • ingestion через Kafka/Kafka Engine, интеграции через ClickHouse Keeper (альтернатива ZooKeeper) для координации и репликации;
    • поддержка форматов: TSV/CSV, JSONEachRow, Parquet, ORC через промежуточные конвейеры и конверсию.

       

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

  • Моделирование данных под аналитическую навигацию:
    • денормализация для ускорения аналитических запросов;
    • разделение по датам, регионом, каналам продаж и другим факторам с использованием PARTITION BY и ORDER BY.
  • Подходы к ingestion:
    • пакетная загрузка против стриминга;
    • выбор между Kafka Engine и обычной загрузкой через INSERT;
    • использование Materialized Views для трансформаций на входе.
  • Управление качеством данных и консистентностью:
    • реализации TTL, замещение/удаление старых данных через MergeTree-процессы;
    • версии строк через ReplacingMergeTree;
    • детальная трассируемость источников и мониторинг задержек in-flight.
  • Архитектурные паттерны:
    • слой ingestion: потоковые источники → Kafka/ClickHouse Keeper → целевые таблицы;
    • слой агрегаций: агрегированные таблицы и MV, использование итоговых таблиц для быстрых ответов;
    • слой поддержки row-логики: вложенные типы для описания событий и параметров.
  • Безопасность и соответствие требованиям:
    • аутентификация и авторизация, TLS, шифрование at rest, контроль доступа к данным по проектам и ролям.

       

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

 

Обзор типичной архитектуры

  • Источники данных: логи событий, транзакции, внешние источники.
  • Поток ingestion: Kafka (классический выбор) или прямой загрузкой через HTTP API.
  • Структура таблиц ClickHouse:
    • основной факт-табличный слой (events_fact) с PARTITION BY toYYYYMM(event_date) и ORDER BY (event_date, event_time, user_id);
    • размерные таблицы (dim_users, dim_products) для быстрых джоин-запросов в рамках поддержки row-практик.
  • Варианты агрегации и хранения:
    • детальная таблица (events_fact) и агрегатные таблицы (hourly_events, daily_events) через Materialized View или MergeTree-семью;
    • Nested и Tuple-структуры для параметров события.
  • Архитектура репликации и отказоустойчивости:
    • ReplicatedMergeTree или современный альтернативный ClickHouse Keeper;
    • настройка репликации и консистентности, согласование схем и версий.
  • Мониторинг и observability:
    • system.mutations, system.parts, system.metриков;
    • внешние инструменты: Prometheus, Grafana, Zabbix (российские практики мониторинга), интеграции через HTTP-интерфейс.

       

Пример архитектурной схемы

  • Визуализация слоёв:
    • Источник данных → Kafka → ClickHouse (основное, детальное хранение) → MV/материальные таблицы → аналитические дашборды
    • Нормализация и денормализация: dim_* таблицы для быстрых Join’ов; events_fact для сквозного анализа по строкам
  • Пример взаимодействий:
    • Поток событий попадает в Kafka;
    • Материализованное представление преобразует данные и записывает в таблицу фактов;
    • Запросы читателя используют агрегированные таблицы для быстрого отклика.

       

Технические детали реализации

  • Базовая схема таблицы:

    
      CREATE TABLE analytics_events
      (
          event_date Date,
          event_time DateTime,
          user_id UInt64,
          event_type String,
          amount Float64,
          country_code String,
          properties String
      )
      ENGINE = MergeTree()
    ## PARTITION BY toYYYYMM(event_date)
      ORDER BY (event_date, event_time, user_id);
    
  • Репликация и хранение версии строк:

    
    ## CREATE TABLE analytics_events_replica AS analytics_events
      ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/analytics_events', '{replica}')
    ## PARTITION BY toYYYYMM(event_date)
      ORDER BY (event_date, event_time, user_id);
    
  • Ingestion через Kafka Engine:

    
      CREATE TABLE events_kafka
      (
          kafka_key String,
          event_date Date,
          event_time DateTime,
          user_id UInt64,
          event_type String,
          amount Float64
      )
    ## ENGINE = Kafka()
      SETTINGS kafka_broker_list = 'kafka01:9092,kafka02:9092',
               kafka_topic_list = 'events',
               kafka_group_name = 'clickhouse_integration';
    
  • Материализованное представление для трансформаций:

    
      CREATE MATERIALIZED VIEW mv_events_to_fact TO analytics_events AS
      SELECT
          event_date,
          event_time,
          user_id,
          event_type,
          amount,
          country_code
      FROM events_kafka;
    
  • Использование вложенных типов:

    
      CREATE TABLE user_events
      (
          user_id UInt64,
          events Nested (
              event_type String,
              event_time DateTime,
              amount Float64
          )
      )
      ENGINE = MergeTree()
      ORDER BY user_id;
    
  • Вопросы по запросам:

    • Как оптимизировать фильтрацию по датам?
    • Как выбрать подходящие параметры ORDER BY и PARTITION BY?
    • Как строить эффективные агрегаты и использовать материализованные представления?

       

Архитектура и технологическая реализация (продолжение)

  • Поддержка row-подходов в контролируемой среде:
    • применения вложенных структур для сохранения параметров событий в одну запись;
    • использование функций массивов, Tuple и Nested для ускорения join’ов и агрегирования.
  • Программные паттерны и выбор движков:
    • для высоких скоростей вставки и больших потоков чаще выбираются MergeTree-семейства;
    • для сложных транзакционных сценариев применяются ReplacingMergeTree и CollapsingMergeTree;
    • для репликации и отказоустойчивости - ReplicatedMergeTree и, при необходимости, ClickHouse Keeper.
  • Интеграции и протоколы:
    • HTTP/HTTPS и native TCP-подключения для запросов;
    • ODBC/JDBC и BI-инструменты;
    • интеграции через Kafka, REST, Post-Processing через MV.
  • Масштабирование и совместимость Russian ecosystem:
    • российские компании широко используют ClickHouse в стекe аналитики, часто в паре с отечественными инструментами мониторинга и CI/CD;
    • примеры практик: внедрение MV, репликации, мониторинг через локальные ноды и интеграции с собственной корпоративной сетью.

       

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

  • Управление схемой и версиями:
    • процесс изменения схемы и миграции данных через миграции и патчи;
    • стратегия backward-compatible изменений, минимизация downtime.
  • Управление качеством данных:
    • governance по версиям и источникам данных;
    • контроль консистентности между детальным и агрегированным слоями.
  • DevOps и операционная практика:
    • инфраструктура как код (IaC) для конфигураций ClickHouse, репликации и мониторинга;
    • тестирование на копиях окружений (staging/QA) перед вводом в продакшн.
  • Безопасность и соответствие требованиям:
    • разграничение доступа по ролям, аудит запросов;
    • шифрование TLS при передаче и at-rest, безопасное хранение ключей.

       

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

  • Алгоритмы и механизмы:
    • Merge и TTL: как система объединяет части и удаляет устаревшие данные;
    • Replacing и Collapsing: управление версиями строк и коллапсом дубликатов;
    • Применение индексов и сортировки: роль ORDER BY в скорости фильтрации по row-полидам.
  • Протоколы и интерфейсы:
    • TCP для нативных запросов, HTTP API для внешних сервисов;
    • Kafka Engine для стриминга, Materialized Views для трансформаций;
    • Keeper как координационный сервис при крупных кластерах.
  • Интеграции:
    • потоковая интеграция: Kafka → ClickHouse → MV;
    • пакетная интеграция: load via INSERT INTO ... FORMAT TSV/JSONEachRow;
    • BI-инструменты: Tableau, Power BI, Metabase через ODBC/JDBC.
  • Реальные примеры:
    • ingestion событий веб-сайтов в реальном времени;
    • агрегации по дням, неделям и месяцам;
    • анализ траекторий пользователей и стоимости конверсий.

       

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

  • Риски:
    • несбалансированная партиционирование может привести к hot partitions;
    • чрезмерное число частей на маленьких обновлениях ухудшает MERGE;
    • недостаточное планирование TTL и выталивания устаревших данных может привести к переполнению дисков.
  • Ограничения:
    • характерная для столбцовых СУБД задержка на row-подобные операции;
    • вложенные типы улучшают модель, но требуют дополнительных вычислений при чтении.
  • Типовые ошибки:
    • неверный выбор ORDER BY и PARTITION BY;
    • отсутствие мониторинга задержек и мутирования в восстановлении;
    • игнорирование требований к консистентности между слоями агрегаций.

       

Заключение

Работа с концепцией clickhouse row в контексте столбцового ClickHouse требует гармонии между row-потребностями и columnar-архитектурой. Правильная инженерия данных включает продуманное моделирование, грамотный выбор движков, конвейеров ingestion, а также мониторинг и управление качеством данных. В российской экосистеме ClickHouse широко применяется благодаря открытости коду и поддержке локальных инструментов для мониторинга, оркестрации и интеграции, что позволяет строить устойчивые и масштабируемые аналитические конвейеры. Практическая ценность главы - осознание того, как структурировать данные и запросы так, чтобы поддерживать row-ориентированные потребности внутри эффективной columnar-архитектуры.

 

Вопрос-Ответ (FAQ)

  1. Что такое "clickhouse row" и зачем он нужен в аналитике?
  • Ответ: В контексте ClickHouse это чаще всего ссылка на обработку последовательности строк внутри колонарной базы. В практике ROW-подходы применяются через вложенные типы (Tuple, Array, Nested) и денормализацию, чтобы облегчить чтение по строкам и параметрам событий, сохраняя преимущества колонарности для фильтрации и агрегации.
  1. Какие движки ClickHouse лучше подходят для row-подобных сценариев?
  • Ответ: для детального хранения** - MergeTree и его варианты; для версионности - ReplacingMergeTree; для сложных агрегаций - AggregatingMergeTree; для поддержки линейной консистентности в кластерах - ReplicatedMergeTree и ClickHouse Keeper.
  1. Как организовать ingestion потоков с учётом row-задержек?
  • Ответ: используйте Kafka Engine для стриминга, матриализованные представления для трансформаций, и разделение по датам (PARTITION BY toYYYYMM(event_date)) для эффективного мержа и очистки.
  1. Как выбрать эффективную модель данных для анализа по строкам?
  • Ответ: применяйте денормализацию там, где это ускоряет аналитический доступ, используйте вложенные типы для параметров событий, сохраняйте детальные таблицы и агрегаты для быстрого чтения в дашбордах.
  1. Какие риски при проектировании таблиц на ClickHouse чаще всего возникают?
  • Ответ: неудачный выбор ORDER BY/PARTITION BY, слишком большое число мелких частей, нехватка TTL и устаревших данных, недостаточный мониторинг и тестирование миграций.
  1. Какие форматы и протоколы обычно задействованы в интеграциях ClickHouse?
  • Ответ: форматы JSONEachRow, TSV/CSV, Parquet/ORC, протоколы TCP и HTTP, интеграции через Kafka Engine, ODBC/JDBC для BI.
  1. Какие примеры open-source решений можно привести в качестве опоры?
  • Ответ: сам ClickHouse как ядро; Apache Parquet/ORC для хранения столбцов внутри конвейеров; Apache Kafka для стриминга; Quad-оболочки с использованием Apache Spark/Trino для смешанных нагрузок.
  1. Какие есть рекомендации по мониторингу и операционной части?
  • Ответ: мониторинг через system.mutations, system.parts, system.meters; внешние инструменты (Prometheus, Grafana); регулярный аудит задержек и мутирования; автоматизация обновлений схем.
  1. Как встраивать row-логики в российской инфраструктуре?
  • Ответ: ориентируйтесь на открытые паттерны денормализации и вложенных типов; используйте отечественные практики мониторинга и CI/CD; применяйте безопасную интеграцию и аудит, сохраняя совместимость между локальными сервисами и облачными компонентами.
  1. Какие примеры реального применения можно привести?
  • Ответ: обработка веб-логов и транзакционных событий, аналитика поведения пользователей, агрегации по каналам продаж и географии, с использованием MV для ускоренного чтения и агрегаций по времени.
← Предыдущая статья
clickhouse set
Следующая статья →
ClickHouse Keeper: координация, доступность и архитектура

 

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

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

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

Клиенты
  • "Холодильник.ру" - крупнейший в России интернет-магазин бытовой техники и электроники. Компания была основана в 2003 году и за почти 20 лет работы завоевала лидирующие позиции на рынке онлайн ритейла. По данным исследовательского агентства Data Insight, "Холодильник.ру" входит в top-10 крупнейших интернет-магазинов России в категории "электроника и бытовая техника". Компания имеет развитую логистическую инфраструктуру и ежедневно осуществляет более 3500 доставок заказов по всей стране.

  • АО «НСПК» - оператор национальной системы платежных карт, который предоставляет операционные услуги и услуги платежного клиринга операторам платежных систем, в том числе Банку России и кредитным организациям. В задачи АО «НСПК» входит обеспечение бесперебойного доступа к переводам денежных средств в Российской Федерации с использованием платежных инструментов.  Также компания является оператором национальной платёжной системы «Мир» и операционным и платёжным клиринговым центром Системы быстрых платежей (СБП).

  • Группа компаний «Галакс» ведет свою деятельность с 2005 года, являясь в те годы дистрибьютором известных международных марок в ряде крупнейших торговых сетей России в сегменте аудио и видео аксессуаров. Активно работая в этом направлении и приобретая ценный опыт, начали создавать собственные торговые марки «GAL» и «VIXTER»

  • ПАО АНК «Башнефть» — российская вертикально-интегрированная нефтяная компания, с 2016 года входит в ПАО НК «Роснефть». Главный офис расположен в городе Уфе (Башкортостан). Добыча углеводородов – более 21 млн тонн нефти в год. Объем переработки – более 18 млн тонн нефти в год. Число сотрудников – более 33 тыс. человек.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • 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 и политикой конфиденциальности.