> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Тестирование вашей интеграции с ClickHouse

> Базовая матрица валидации для интеграций с ClickHouse Cloud и самоуправляемыми решениями с открытым исходным кодом.

Проверьте свою интеграцию в обоих режимах развертывания ClickHouse и на датасетах, которые задействуют систему типов ClickHouse в реалистичном масштабе, прежде чем отправлять её на проверку. Эта страница определяет, что значит «протестировано» на базовом уровне. Формальная валидация — отдельный процесс для партнёров, переходящих на более высокие партнёрские уровни.

См. [Создание интеграций](/ru/resources/develop-contribute/integrations/building-integrations), чтобы узнать о путях ингестии и использования, а [Документирование вашей интеграции](/ru/resources/develop-contribute/integrations/documenting-your-integration) — чтобы понять, как публиковать результаты.

<div id="test-matrix">
  ## Матрица тестирования
</div>

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

* **ClickHouse Cloud:** зарегистрируйтесь для [бесплатного пробного периода](https://clickhouse.com/cloud). Для уровня Development кредитная карта не требуется
* **Самоуправляемый (с открытым исходным кодом):** используйте последний стабильный релиз из [GitHub releases](https://github.com/ClickHouse/ClickHouse/releases). [Руководство по установке](/ru/get-started/setup/install) — самый быстрый способ развернуть локальный экземпляр с помощью Docker

Проверьте оба варианта и задокументируйте все пробелы в функциональности на странице интеграции.

<div id="what-to-test">
  ## Что тестировать
</div>

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

**Покрытие системы типов.** ClickHouse поддерживает Array, Tuple, Map, JSON, Nested, LowCardinality, Decimal, варианты Date и DateTime, UUID, IPv4 и IPv6, Enum, а также типы агрегатных функций. Интеграции часто сталкиваются с проблемами при работе с вложенными массивами, глубоко вложенными кортежами и JSON-столбцами. Ваша клиентская библиотека и интерфейс должны корректно обрабатывать такие случаи и как минимум выдавать понятную ошибку, а не молча обрезать данные или отображать их некорректно.

**Масштаб.** Тестируйте на таких размерах результирующих наборов и таком числе строк, с которыми будут работать ваши клиенты. Для пользовательских BI-интерфейсов это часто означает таблицы от сотен миллионов до миллиардов строк, а также результирующие наборы — от отдельных агрегатов до десятков тысяч строк. Неограниченные чтения (`SELECT *`) должны предсказуемо завершаться ошибкой или использовать пагинацию, а не зависать.

**Аутентификация.** Проверьте как минимум одно соединение с включенным TLS. Если вы предоставляете конфигурацию аутентификации, протестируйте каждый описанный вами режим (имя пользователя и пароль поверх TLS, mTLS, клиентский SSL-сертификат).

**Жизненный цикл соединения.** Убедитесь, что система адекватно ведет себя при разрыве соединений, перезапуске сервера и медленных запросах. Многие эскалации связаны с обработкой соединений, а не с семантикой запросов.

<div id="recommended-example-datasets">
  ## Рекомендуемые демонстрационные датасеты
</div>

Полный список доступен в разделе [**Демонстрационные датасеты**](/ru/get-started/sample-datasets). Следующие четыре датасета покрывают большинство сценариев тестирования интеграций:

* **[GitHub events](/ru/get-started/sample-datasets/github-events):** 3.1B строк со вложенными полезными нагрузками событий. Лучше всего подходит для массивов, кортежей и вложенных типов
* **[NYC taxi data](/ru/get-started/sample-datasets/nyc-taxi):** миллиарды строк с хорошо известной схемой. Подходит для тестирования пропускной способности и операций чтения
* **[Stack Overflow](/ru/get-started/sample-datasets/stackoverflow):** реляционные данные из нескольких таблиц для BI-сценариев с активным использованием JOIN
* **[Hacker News](/ru/get-started/sample-datasets/hacker-news):** 28M строк, быстро загружается, удобен для итеративной работы

Для валидации в экстремальном масштабе используйте **[WikiStat](/ru/get-started/sample-datasets/wikistat)** (\~0.5 триллиона записей).

<div id="what-to-capture-from-your-testing">
  ## Что указать по итогам тестирования
</div>

Когда вы отправляете интеграцию на проверку, укажите:

* протестированные версии ClickHouse (Cloud и с открытым исходным кодом)
* датасеты и их примерный масштаб (число строк, размер на диске)
* типы, с которыми работает ваша интеграция, и типы, с которыми она не работает (это станет разделом **Known limits** в вашей документации)
* особенности производительности, о которых стоит предупредить, например пороговые значения результирующего набора, при которых поведение меняется

Короткий отчёт о тестировании сокращает число итераций проверки. Достаточно одного абзаца и таблицы.
