diff options
author | SloNN <alex.dmitriev@gmail.com> | 2024-08-09 09:48:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-09 09:48:51 +0300 |
commit | dd9f3fdcfec5d41d073bb2e43ce270088db3b630 (patch) | |
tree | 31f97b6eb631b91b5e41c2b790170de6b8a662e7 | |
parent | b16060eebe0468af8307a0d31644cb6aeef53637 (diff) | |
download | ydb-dd9f3fdcfec5d41d073bb2e43ce270088db3b630.tar.gz |
integrations and ide (#7222)
Co-authored-by: Alex Dmitriev <slonnn@yandex-team.ru>
Co-authored-by: Ivan Blinkov <ivan@ydb.tech>
16 files changed, 170 insertions, 1 deletions
diff --git a/ydb/docs/build.sh b/ydb/docs/build.sh index a432d3ae96..001dfd0697 100755 --- a/ydb/docs/build.sh +++ b/ydb/docs/build.sh @@ -34,7 +34,7 @@ check_dependency "python3" "Python3" "https://www.python.org/downloads/" echo "Starting YFM builder" echo "Output directory: $DIR" -if ! yfm -i . -o $DIR --allowHTML; then +if ! yfm -i . -o $DIR --allowHTML --apply-presets; then echo echo "================================" echo "YFM build completed with ERRORS!" diff --git a/ydb/docs/presets.yaml b/ydb/docs/presets.yaml index e24be95b9d..6367d6a286 100644 --- a/ydb/docs/presets.yaml +++ b/ydb/docs/presets.yaml @@ -53,3 +53,10 @@ default: corporate-paste: https://www.paste.example.com corporate-yt: https://www.yt.example.com corporate-yt-cluster: example-cluster + + datalens-name: DataLens + airflow-name: Apache Airflow + ydb-airflow: false + ydb-finebi: false + ydb-superset: false + ydb-datalens: false diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-connection-test.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-connection-test.png Binary files differnew file mode 100644 index 0000000000..4ce9fe3100 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-connection-test.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name_ru.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name_ru.png Binary files differnew file mode 100644 index 0000000000..31bf57f1c8 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name_ru.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver_ru.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver_ru.png Binary files differnew file mode 100644 index 0000000000..cd6aa1e6dd --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-create-new-driver_ru.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_ru.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_ru.png Binary files differnew file mode 100644 index 0000000000..e7fc8d8f61 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_ru.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png Binary files differnew file mode 100644 index 0000000000..fd18baf87d --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management_ru.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management_ru.png Binary files differnew file mode 100644 index 0000000000..be6af87171 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-driver-management_ru.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-query.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-query.png Binary files differnew file mode 100644 index 0000000000..960ddc9402 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-query.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-table-structure.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-table-structure.png Binary files differnew file mode 100644 index 0000000000..6f19a203fd --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-table-structure.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-ydb-connection.png b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-ydb-connection.png Binary files differnew file mode 100644 index 0000000000..a33056c489 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/dbeaver-ydb-connection.png diff --git a/ydb/docs/ru/core/integrations/ide/_assets/ydb-connection-path.png b/ydb/docs/ru/core/integrations/ide/_assets/ydb-connection-path.png Binary files differnew file mode 100644 index 0000000000..58a84c34f5 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/_assets/ydb-connection-path.png diff --git a/ydb/docs/ru/core/integrations/ide/dbeaver.md b/ydb/docs/ru/core/integrations/ide/dbeaver.md new file mode 100644 index 0000000000..216a4c63f0 --- /dev/null +++ b/ydb/docs/ru/core/integrations/ide/dbeaver.md @@ -0,0 +1,76 @@ +# Подключение к {{ ydb-short-name }} с помощью DBeaver + +[DBeaver](https://dbeaver.com) — бесплатный кроссплатформенный инструмент управления базами данных с открытым исходным кодом, обеспечивающий визуальный интерфейс для подключения к различным базам данных и выполнения SQL-запросов. Он поддерживает множество систем управления базами данных, включая MySQL, PostgreSQL, Oracle и SQLite. + +DBeaver позволяет работать с {{ ydb-short-name }} по протоколу Java DataBase Connectivity ([JDBC](https://ru.wikipedia.org/wiki/Java_Database_Connectivity)). Данная статья демонстрирует, как настроить такую интеграцию. + +### Подключение JDBC-драйвера {{ ydb-name }} к DBeaver {#dbeaver_ydb} + +Для подключения к {{ ydb-name }} из DBeaver понадобится JDBC-драйвер. Для загрузки JDBC-драйвера выполните следующие шаги: +1. Перейдите в [репозиторий ydb-jdbc-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases). +1. Выберите последний релиз (отмечен тегом `Latest`) и сохраните файл `ydb-jdbc-driver-shaded-<driver-version>.jar`. + +Для подключения загруженного JDBC-драйвера выполните следующие шаги: +1. Выберите в верхнем меню DBeaver пункт **База данных**, а затем подпункт **Управление драйверами**: + + ![](./_assets/dbeaver-driver-management_ru.png) + +1. Чтобы создать новый драйвер, в открывшемся окне **Менеджер Драйверов** нажмите кнопку **Новый**: + + ![](./_assets/dbeaver-driver-create-new-driver_ru.png) + +1. В открывшемся окне **Создать драйвер**, в поле **Имя драйвера**, укажите `YDB`: + + ![](./_assets/dbeaver-driver-create-new-driver-set-name_ru.png) + +1. Перейдите в раздел **Библиотеки**, нажмите кнопку **Добавить файл**, укажите путь к скачанному ранее JDBC-драйверу {{ ydb-short-name }} (файлу `ydb-jdbc-driver-shaded-<driver-version>.jar`) и нажмите кнопку **OK**: + + ![](./_assets/dbeaver-driver-management-driver_ru.png) + + +1. В списке драйверов появится пункт **YDB**. Дважды кликните по новому драйверу и перейдите на вкладку **Библиотеки**, нажмите кнопку **Найти Класс** и в выпадающем списке выберите `tech.ydb.jdbc.YdbDriver`. + + {% note warning %} + + Обязательно явно выберите пункт выпадающего списка `tech.ydb.jdbc.YdbDriver`, нажав на него. В противном случае DBeaver будет считать, что драйвер не был выбран. + + {% endnote %} + + ![](./_assets/dbeaver-driver-management-driver_set.png) + +### Создание подключения к {{ ydb-name }} {#dbeaver_ydb_connection} + +Для создания подключения необходимо выполнить следующие шаги: + +1. В DBeaver создайте новое соединение, указав тип соединения `YDB`. +1. В открывшемся окне перейдите в раздел **Главное**. +1. В подразделе **Общие**, в поле ввода **JDBC URL**, укажите следующую строку соединения: + + ``` + jdbc:ydb:<ydb_endpoint>/<ydb_database>?useQueryService=true + ``` + + Где: + - `ydb_endpoint` — [эндпойнт](../../concepts/connect.md#endpoint) кластера {{ydb-name}}, к которому будут выполняться подключение. + - `ydb_database` — путь к [базе данных](../../concepts/glossary.md#database) в кластере {{ydb-name}}, к которой будут выполняться запросы. + + ![](./_assets/dbeaver-ydb-connection.png) + +1. В поля **Пользователь** и **Пароль** введите логин и пароль для подключения к базе данных. Полный список способов аутентификации и строк подключения к {{ ydb-name }} приведён в описании [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver). +1. Нажмите кнопку **Тест соединения ...** для проверки настроек. + + Если все настройки указаны верно, то появится сообщение об успешном тестировании соединения: + + ![](./_assets/dbeaver-connection-test.png =400x) + +1. Нажмите кнопку **Готово** для сохранения соединения. + +### Работа с {{ ydb-name }} {#dbeaver_ydb_connection} + +С помощью DBeaver можно просматривать список и структуру таблиц: + +![](./_assets/dbeaver-table-structure.png) + +А также выполнять запросы к данным: + +![](./_assets/dbeaver-query.png) diff --git a/ydb/docs/ru/core/integrations/index.md b/ydb/docs/ru/core/integrations/index.md new file mode 100644 index 0000000000..eb36463f35 --- /dev/null +++ b/ydb/docs/ru/core/integrations/index.md @@ -0,0 +1,82 @@ +# Интеграции {{ ydb-short-name }} + +В данном разделе приведена основная информация про интеграции {{ ydb-name }} со сторонними системами. + +{% note info %} + +В дополнение к своему собственному нативному протоколу, {{ ydb-name }} обладает слоем совместимости, что позволяет внешним системам подключаться к базам данных по сетевым протоколам [PostgreSQL](../postgresql/intro.md) или [Apache Kafka](../reference/kafka-api/index.md). Благодаря слою совместимости, множество инструментов, разработанных для работы с этими системами, могут также взаимодействовать с {{ ydb-name }}. Уровень совместимости каждого конкретного приложения необходимо уточнять отдельно. + +{% endnote %} + + +## Клиенты с графическим интерфейсом {#gui} + +| Среда | Инструкция | Уровень поддержки | +| --- | --- | --- | +| Embedded UI | [Справка](../reference/embedded-ui/index.md) | | +| [DBeaver](https://dbeaver.com) | [Инструкция](ide/dbeaver.md) | C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| JetBrains Database viewer | — | C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| [JetBrains DataGrip](https://www.jetbrains.com/ru-ru/datagrip/) | — | C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| Другие JDBC-совместимые IDE | — | C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| + + +## Визуализация данных (Business Intelligence, BI) {#bi} + +| Среда | Уровень поддержки | Инструкция | +| --- | :---: | --- | +{% if ydb-datalens %} +| [{{ datalens-name }}](https://datalens.tech/ru) | Полный | [Инструкция](datalens.md) | +{% endif %} +{% if ydb-superset %} + +| [Apache Superset](https://superset.apache.org) | Через [PostgreSQL-совместимость](https://ydb.tech/docs/ru/postgresql/intro) | [Инструкция](superset.md) | + +{% endif %} +{% if ydb-finebi %} + +| [FineBI](https://intl.finebi.com) | Через [PostgreSQL-совместимость](https://ydb.tech/docs/ru/postgresql/intro) | [Инструкция](./finebi.md) | + +{% endif %} +| [Grafana](https://grafana.com) | Полный| [Инструкция](grafana.md) | + +{% if ydb-airflow %} +## Оркестрация {#orchestration} + +| Среда | Инструкция | +| --- | --- | +| [{{ airflow-name }}](https://airflow.apache.org) | [Инструкция](airflow.md) | + +{% endif %} + +## Поставка данных {#ingestion} + +| Система поставки | Инструкция | +| --- | --- | +| [FluentBit](https://fluentbit.io) | [Инструкция](fluent-bit.md) | +| [LogStash](https://www.elastic.co/logstash) | [Инструкция](logstash.md) | +| [Kafka Connect Sink](https://docs.confluent.io/platform/current/connect/index.html) | [Инструкция](https://github.com/ydb-platform/ydb-kafka-sink-connector) | +| Произвольные [JDBC-источники данных](https://ru.wikipedia.org/wiki/Java_Database_Connectivity) | [Инструкция](import-jdbc.md) | + + +### Потоковая поставка данных {#streaming-ingestion} + +| Система поставки | Инструкция | +| --- | --- | +| [Apache Kafka API](https://kafka.apache.org) | [Инструкция](../reference/kafka-api/index.md) | +| [Apache Kafka Connect](https://kafka.apache.org/documentation/#connect) | [Инструкция](../reference/kafka-api/connect/index.md) | + + +## Миграции данных {#schema_migration} + +| Среда | Инструкция | +| --- | --- | +| [goose](https://github.com/pressly/goose/) | [Инструкция](goose.md) | +| [Liquibase](https://www.liquibase.com) | [Инструкция](liquibase.md) | +| [Flyway](https://documentation.red-gate.com/fd/) | [Инструкция](flyway.md) | +| [Hibernate](https://hibernate.org/orm/) | [Инструкция](hibernate.md) | + +## Смотрите также + +* [{#T}](../reference/ydb-sdk/index.md) +* [{#T}](../postgresql/intro.md) +* [{#T}](../reference/kafka-api/index.md) diff --git a/ydb/docs/ru/core/integrations/toc_i.yaml b/ydb/docs/ru/core/integrations/toc_i.yaml index 446ea7d104..e35cbbe659 100644 --- a/ydb/docs/ru/core/integrations/toc_i.yaml +++ b/ydb/docs/ru/core/integrations/toc_i.yaml @@ -15,3 +15,6 @@ items: href: hibernate.md - name: Импорт из источников JDBC href: import-jdbc.md +- name: DBeaver + href: ide/dbeaver.md + diff --git a/ydb/docs/ru/core/reference/toc_p.yaml b/ydb/docs/ru/core/reference/toc_p.yaml index 6278efb2f1..df3a125ef8 100644 --- a/ydb/docs/ru/core/reference/toc_p.yaml +++ b/ydb/docs/ru/core/reference/toc_p.yaml @@ -14,6 +14,7 @@ items: mode: link path: embedded-ui/toc_p.yaml - name: Интеграции + href: ../integrations/index.md include: mode: link path: ../integrations/toc_p.yaml |