Подключение Embeddable к ClickHouse
В Embeddable вы определяете Модели Данных и Компоненты в коде (хранящемся в вашем собственном репозитории кода) и используете наш SDK, чтобы сделать их доступными для вашей команды в мощном безкодовом конструкторе Embeddable.
Конечный результат — это возможность предоставлять быстрые, интерактивные аналитические данные для клиентов непосредственно в вашем продукте; разработанные вашей командой продукта; построенные вашей инженерной командой; поддерживаемые командами, работающими с клиентами, и командами данных. Именно так это и должно быть.
Встроенная безопасность на уровне строк означает, что каждый пользователь видит только те данные, которые ему разрешено видеть. А два уровня полностью настраиваемого кэширования позволяют предоставлять быстрые, реалистичные аналитические данные в масштабах.
1. Соберите данные для подключения
Чтобы подключиться к ClickHouse с помощью HTTP(S), вам необходима следующая информация:
- 
ХОСТ и ПОРТ: как правило, порт 8443 при использовании TLS или 8123 при отсутствии TLS. 
- 
ИМЯ БАЗЫ ДАННЫХ: по умолчанию существует база данных с именем default, используйте имя базы данных, к которой вы хотите подключиться.
- 
ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ: по умолчанию имя пользователя default. Используйте имя пользователя, подходящее для вашего случая.
Данные для вашего сервиса ClickHouse Cloud доступны в консоли ClickHouse Cloud. Выберите сервис, к которому вы хотите подключиться, и нажмите Подключиться:

Выберите HTTPS, и данные будут доступны в примере команды curl.

Если вы используете самоуправляемый ClickHouse, детали подключения устанавливаются вашим администратором ClickHouse.
2. Создайте тип подключения к ClickHouse
Вы добавляете подключение к базе данных, используя API Embeddable. Это подключение используется для соединения с вашим сервисом ClickHouse. Вы можете добавить подключение, используя следующий вызов API:
Выше представлено действие CREATE, но все операции CRUD также доступны.
apiKey можно найти, нажав "Опубликовать" на одной из ваших панелей управления Embeddable.
name — это уникальное имя для идентификации этого соединения.
- По умолчанию ваши модели данных будут искать соединение с именем "default", но вы можете предоставить вашим моделям разные имена data_source, чтобы поддерживать соединение различных моделей данных с разными соединениями (просто укажите имя data_source в модели).
type указывает Embeddable, какой драйвер использовать.
- Здесь вы захотите использовать clickhouse, но вы можете подключить несколько различных источников данных к одному рабочему пространству Embeddable, так что вы можете использовать и другие, такие как:postgres,bigquery,mongodbи т.д.
credentials — это объект JavaScript, содержащий необходимые учетные данные, ожидаемые драйвером.
- Эти данные надежно зашифрованы и используются только для извлечения именно тех данных, которые вы описали в своих моделях данных. Embeddable настоятельно рекомендует создавать пользователя базы данных с правами только для чтения для каждого подключения (Embeddable всегда будет только читать из вашей базы данных, не записывая в нее).
Чтобы поддерживать соединение с разными базами данных для prod, qa, test и т.д. (или чтобы поддерживать разные базы данных для разных клиентов), вы можете назначить каждое соединение окружению (см. Environments API).
