Подключение 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).