Архитектура коннектора ======================== **Arenadata DB** (**ADB**) это горизонтально-масштабируемая СУБД, предназначенная для построения больших аналитических хранилищ данных (от источников до витрин данных). Такие модели требуют наличия множества соединений, развитый синтаксис ANSI SQL, транзакционность и другие возможности. С другой стороны **Clickhouse** предоставляет доступ к построенным широким витринам с максимальной скоростью. Коннектор поддерживает только возможность односторонней вставки данных. Он состоит из двух компонентов -- модуля **PXF**, непосредственно занимающегося отправкой данных с сегментов, и расширения **ADB**, предназначенного для того, чтобы сделать операцию загрузки данных более безопасной при отсутствии транзакций в **Clickhouse**. Модуль **PXF** использует функциональность внешних таблиц **ADB** и может быть использован отдельно. Он не делает различия в типе таблиц **Clickhouse** и отправляет данные равномерно на те ноды, которые указаны в его конфигурации. Модуль содержит необходимую логику для регулирования скорости отправки данных, которую требует движок слияния таблиц **Clickhouse**. Также архитектура модуля позволяет задавать дополнительные настройки, влияющие на производительность, такие как количество сетевых потоков, длину очереди и прочие. Расширение **ADB** напротив, учитывает топологию таблиц **Clickhouse** и создает в точности ее повторяющий промежуточный слой. Это необходимо как для обеспечения консистентности, так и для оптимальной производительности. Как только данные загружаются в промежуточный слой, расширение проверяет совпадение по количеству строк на физических таблицах и переключает куски данных из промежуточного слоя в реальные таблицы. Эта операция не требует перемещения данных. Расширение для пользователя представляет собой процедуру, в которую следует полностью передать запрос ``INSERT`` во внешнюю таблицу.