Skip to content

Commit dd9f3fd

Browse files
SloNNblinkov
andauthored
integrations and ide (#7222)
Co-authored-by: Alex Dmitriev <[email protected]> Co-authored-by: Ivan Blinkov <[email protected]>
1 parent b16060e commit dd9f3fd

16 files changed

+170
-1
lines changed

ydb/docs/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ check_dependency "python3" "Python3" "https://www.python.org/downloads/"
3434
echo "Starting YFM builder"
3535
echo "Output directory: $DIR"
3636

37-
if ! yfm -i . -o $DIR --allowHTML; then
37+
if ! yfm -i . -o $DIR --allowHTML --apply-presets; then
3838
echo
3939
echo "================================"
4040
echo "YFM build completed with ERRORS!"

ydb/docs/presets.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,10 @@ default:
5353
corporate-paste: https://www.paste.example.com
5454
corporate-yt: https://www.yt.example.com
5555
corporate-yt-cluster: example-cluster
56+
57+
datalens-name: DataLens
58+
airflow-name: Apache Airflow
59+
ydb-airflow: false
60+
ydb-finebi: false
61+
ydb-superset: false
62+
ydb-datalens: false
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Подключение к {{ ydb-short-name }} с помощью DBeaver
2+
3+
[DBeaver](https://dbeaver.com) — бесплатный кроссплатформенный инструмент управления базами данных с открытым исходным кодом, обеспечивающий визуальный интерфейс для подключения к различным базам данных и выполнения SQL-запросов. Он поддерживает множество систем управления базами данных, включая MySQL, PostgreSQL, Oracle и SQLite.
4+
5+
DBeaver позволяет работать с {{ ydb-short-name }} по протоколу Java DataBase Connectivity ([JDBC](https://ru.wikipedia.org/wiki/Java_Database_Connectivity)). Данная статья демонстрирует, как настроить такую интеграцию.
6+
7+
### Подключение JDBC-драйвера {{ ydb-name }} к DBeaver {#dbeaver_ydb}
8+
9+
Для подключения к {{ ydb-name }} из DBeaver понадобится JDBC-драйвер. Для загрузки JDBC-драйвера выполните следующие шаги:
10+
1. Перейдите в [репозиторий ydb-jdbc-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases).
11+
1. Выберите последний релиз (отмечен тегом `Latest`) и сохраните файл `ydb-jdbc-driver-shaded-<driver-version>.jar`.
12+
13+
Для подключения загруженного JDBC-драйвера выполните следующие шаги:
14+
1. Выберите в верхнем меню DBeaver пункт **База данных**, а затем подпункт **Управление драйверами**:
15+
16+
![](./_assets/dbeaver-driver-management_ru.png)
17+
18+
1. Чтобы создать новый драйвер, в открывшемся окне **Менеджер Драйверов** нажмите кнопку **Новый**:
19+
20+
![](./_assets/dbeaver-driver-create-new-driver_ru.png)
21+
22+
1. В открывшемся окне **Создать драйвер**, в поле **Имя драйвера**, укажите `YDB`:
23+
24+
![](./_assets/dbeaver-driver-create-new-driver-set-name_ru.png)
25+
26+
1. Перейдите в раздел **Библиотеки**, нажмите кнопку **Добавить файл**, укажите путь к скачанному ранее JDBC-драйверу {{ ydb-short-name }} (файлу `ydb-jdbc-driver-shaded-<driver-version>.jar`) и нажмите кнопку **OK**:
27+
28+
![](./_assets/dbeaver-driver-management-driver_ru.png)
29+
30+
31+
1. В списке драйверов появится пункт **YDB**. Дважды кликните по новому драйверу и перейдите на вкладку **Библиотеки**, нажмите кнопку **Найти Класс** и в выпадающем списке выберите `tech.ydb.jdbc.YdbDriver`.
32+
33+
{% note warning %}
34+
35+
Обязательно явно выберите пункт выпадающего списка `tech.ydb.jdbc.YdbDriver`, нажав на него. В противном случае DBeaver будет считать, что драйвер не был выбран.
36+
37+
{% endnote %}
38+
39+
![](./_assets/dbeaver-driver-management-driver_set.png)
40+
41+
### Создание подключения к {{ ydb-name }} {#dbeaver_ydb_connection}
42+
43+
Для создания подключения необходимо выполнить следующие шаги:
44+
45+
1. В DBeaver создайте новое соединение, указав тип соединения `YDB`.
46+
1. В открывшемся окне перейдите в раздел **Главное**.
47+
1. В подразделе **Общие**, в поле ввода **JDBC URL**, укажите следующую строку соединения:
48+
49+
```
50+
jdbc:ydb:<ydb_endpoint>/<ydb_database>?useQueryService=true
51+
```
52+
53+
Где:
54+
- `ydb_endpoint` — [эндпойнт](../../concepts/connect.md#endpoint) кластера {{ydb-name}}, к которому будут выполняться подключение.
55+
- `ydb_database` — путь к [базе данных](../../concepts/glossary.md#database) в кластере {{ydb-name}}, к которой будут выполняться запросы.
56+
57+
![](./_assets/dbeaver-ydb-connection.png)
58+
59+
1. В поля **Пользователь** и **Пароль** введите логин и пароль для подключения к базе данных. Полный список способов аутентификации и строк подключения к {{ ydb-name }} приведён в описании [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver).
60+
1. Нажмите кнопку **Тест соединения ...** для проверки настроек.
61+
62+
Если все настройки указаны верно, то появится сообщение об успешном тестировании соединения:
63+
64+
![](./_assets/dbeaver-connection-test.png =400x)
65+
66+
1. Нажмите кнопку **Готово** для сохранения соединения.
67+
68+
### Работа с {{ ydb-name }} {#dbeaver_ydb_connection}
69+
70+
С помощью DBeaver можно просматривать список и структуру таблиц:
71+
72+
![](./_assets/dbeaver-table-structure.png)
73+
74+
А также выполнять запросы к данным:
75+
76+
![](./_assets/dbeaver-query.png)
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Интеграции {{ ydb-short-name }}
2+
3+
В данном разделе приведена основная информация про интеграции {{ ydb-name }} со сторонними системами.
4+
5+
{% note info %}
6+
7+
В дополнение к своему собственному нативному протоколу, {{ ydb-name }} обладает слоем совместимости, что позволяет внешним системам подключаться к базам данных по сетевым протоколам [PostgreSQL](../postgresql/intro.md) или [Apache Kafka](../reference/kafka-api/index.md). Благодаря слою совместимости, множество инструментов, разработанных для работы с этими системами, могут также взаимодействовать с {{ ydb-name }}. Уровень совместимости каждого конкретного приложения необходимо уточнять отдельно.
8+
9+
{% endnote %}
10+
11+
12+
## Клиенты с графическим интерфейсом {#gui}
13+
14+
| Среда | Инструкция | Уровень поддержки |
15+
| --- | --- | --- |
16+
| Embedded UI | [Справка](../reference/embedded-ui/index.md) | |
17+
| [DBeaver](https://dbeaver.com) | [Инструкция](ide/dbeaver.md) | C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)|
18+
| JetBrains Database viewer || C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)|
19+
| [JetBrains DataGrip](https://www.jetbrains.com/ru-ru/datagrip/) || C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)|
20+
| Другие JDBC-совместимые IDE || C помощью [JDBC-драйвера](https://github.com/ydb-platform/ydb-jdbc-driver/releases)|
21+
22+
23+
## Визуализация данных (Business Intelligence, BI) {#bi}
24+
25+
| Среда | Уровень поддержки | Инструкция |
26+
| --- | :---: | --- |
27+
{% if ydb-datalens %}
28+
| [{{ datalens-name }}](https://datalens.tech/ru) | Полный | [Инструкция](datalens.md) |
29+
{% endif %}
30+
{% if ydb-superset %}
31+
32+
| [Apache Superset](https://superset.apache.org) | Через [PostgreSQL-совместимость](https://ydb.tech/docs/ru/postgresql/intro) | [Инструкция](superset.md) |
33+
34+
{% endif %}
35+
{% if ydb-finebi %}
36+
37+
| [FineBI](https://intl.finebi.com) | Через [PostgreSQL-совместимость](https://ydb.tech/docs/ru/postgresql/intro) | [Инструкция](./finebi.md) |
38+
39+
{% endif %}
40+
| [Grafana](https://grafana.com) | Полный| [Инструкция](grafana.md) |
41+
42+
{% if ydb-airflow %}
43+
## Оркестрация {#orchestration}
44+
45+
| Среда | Инструкция |
46+
| --- | --- |
47+
| [{{ airflow-name }}](https://airflow.apache.org) | [Инструкция](airflow.md) |
48+
49+
{% endif %}
50+
51+
## Поставка данных {#ingestion}
52+
53+
| Система поставки | Инструкция |
54+
| --- | --- |
55+
| [FluentBit](https://fluentbit.io) | [Инструкция](fluent-bit.md) |
56+
| [LogStash](https://www.elastic.co/logstash) | [Инструкция](logstash.md) |
57+
| [Kafka Connect Sink](https://docs.confluent.io/platform/current/connect/index.html) | [Инструкция](https://github.com/ydb-platform/ydb-kafka-sink-connector) |
58+
| Произвольные [JDBC-источники данных](https://ru.wikipedia.org/wiki/Java_Database_Connectivity) | [Инструкция](import-jdbc.md) |
59+
60+
61+
### Потоковая поставка данных {#streaming-ingestion}
62+
63+
| Система поставки | Инструкция |
64+
| --- | --- |
65+
| [Apache Kafka API](https://kafka.apache.org) | [Инструкция](../reference/kafka-api/index.md) |
66+
| [Apache Kafka Connect](https://kafka.apache.org/documentation/#connect) | [Инструкция](../reference/kafka-api/connect/index.md) |
67+
68+
69+
## Миграции данных {#schema_migration}
70+
71+
| Среда | Инструкция |
72+
| --- | --- |
73+
| [goose](https://github.com/pressly/goose/) | [Инструкция](goose.md) |
74+
| [Liquibase](https://www.liquibase.com) | [Инструкция](liquibase.md) |
75+
| [Flyway](https://documentation.red-gate.com/fd/) | [Инструкция](flyway.md) |
76+
| [Hibernate](https://hibernate.org/orm/) | [Инструкция](hibernate.md) |
77+
78+
## Смотрите также
79+
80+
* [{#T}](../reference/ydb-sdk/index.md)
81+
* [{#T}](../postgresql/intro.md)
82+
* [{#T}](../reference/kafka-api/index.md)

ydb/docs/ru/core/integrations/toc_i.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ items:
1515
href: hibernate.md
1616
- name: Импорт из источников JDBC
1717
href: import-jdbc.md
18+
- name: DBeaver
19+
href: ide/dbeaver.md
20+

ydb/docs/ru/core/reference/toc_p.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ items:
1414
mode: link
1515
path: embedded-ui/toc_p.yaml
1616
- name: Интеграции
17+
href: ../integrations/index.md
1718
include:
1819
mode: link
1920
path: ../integrations/toc_p.yaml

0 commit comments

Comments
 (0)