diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-connection-test.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-connection-test.png new file mode 100644 index 000000000000..70464457fc72 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-connection-test.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name.png new file mode 100644 index 000000000000..3f910b3c34c7 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver-set-name.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver.png new file mode 100644 index 000000000000..dc0f82daa411 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-create-new-driver.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver.png new file mode 100644 index 000000000000..952b6ddf263a Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png new file mode 100644 index 000000000000..4c0ea454afa8 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management-driver_set.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management.png new file mode 100644 index 000000000000..3f664a42ea55 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-driver-management.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-query.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-query.png new file mode 100644 index 000000000000..af612583dad3 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-query.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-table-structure.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-table-structure.png new file mode 100644 index 000000000000..56db6488237f Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-table-structure.png differ diff --git a/ydb/docs/en/core/integrations/ide/_assets/dbeaver-ydb-connection.png b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-ydb-connection.png new file mode 100644 index 000000000000..684aaedf8713 Binary files /dev/null and b/ydb/docs/en/core/integrations/ide/_assets/dbeaver-ydb-connection.png differ diff --git a/ydb/docs/en/core/integrations/ide/dbeaver.md b/ydb/docs/en/core/integrations/ide/dbeaver.md new file mode 100644 index 000000000000..65c3d6c6d11d --- /dev/null +++ b/ydb/docs/en/core/integrations/ide/dbeaver.md @@ -0,0 +1,77 @@ +# Connecting to {{ ydb-short-name }} with DBeaver + +[DBeaver](https://dbeaver.com) is a free, cross-platform, open-source database management tool that provides a visual interface for connecting to various databases and executing SQL queries. It supports many database management systems, including MySQL, PostgreSQL, Oracle, and SQLite. + +DBeaver allows you to work with {{ ydb-short-name }} using the Java DataBase Connectivity ([JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity)) protocol. This article demonstrates how to set up this integration. + + +### Connecting the {{ ydb-name }} JDBC Driver to DBeaver {#dbeaver_ydb} + + +To connect to {{ ydb-name }} from DBeaver, you will need the JDBC driver. Follow these steps to download the JDBC driver: +1. Go to the [ydb-jdbc-driver repository](https://github.com/ydb-platform/ydb-jdbc-driver/releases). +1. Select the latest release (tagged as `Latest`) and save the `ydb-jdbc-driver-shaded-.jar` file. + +Follow these steps to connect the downloaded JDBC driver: +1. In the top menu of DBeaver, select the **Database** option, then select **Driver Manager**: + ![](./_assets/dbeaver-driver-management.png) + +1. To create a new driver, click the **New** button in the **Driver Manager** window that opens + ![](./_assets/dbeaver-driver-create-new-driver.png) + +1. In the **Create Driver** window that opens, specify `YDB` in the **Driver Name** field: + + ![](./_assets/dbeaver-driver-create-new-driver-set-name.png) + +1. Go to the **Libraries** section, click **Add File**, specify the path to the previously downloaded {{ ydb-short-name }} JDBC driver (the `ydb-jdbc-driver-shaded-.jar` file), and click **OK**: + + ![](./_assets/dbeaver-driver-management-driver.png) + +1. The **YDB** item will appear in the list of drivers. Double-click the new driver and go to the **Libraries** tab, click **Find Class**, and select `tech.ydb.jdbc.YdbDriver` from the dropdown list. + + {% note warning %} + + Be sure to explicitly select the `tech.ydb.jdbc.YdbDriver` item from the dropdown list by clicking on it. Otherwise, DBeaver will consider that the driver has not been selected. + + {% endnote %} + + ![](./_assets/dbeaver-driver-management-driver_set.png) + +### Creating a Connection to {{ ydb-name }} {#dbeaver_ydb_connection} + +Perform the following steps to establish a connection: + +1. In DBeaver, create a new connection, specifying the `YDB` connection type. +1. In the window that opens, go to the **Main** section. +1. In the **General** subsection, in the **JDBC URL** input field, specify the following connection string: + + ``` + jdbc:ydb:/?useQueryService=true + ``` + + Where: + - `ydb_endpoint` — the [endpoint](../../concepts/connect.md#endpoint) of the {{ydb-name}} cluster to which the connection will be made. + - `ydb_database` — the path to the [database](../../concepts/glossary.md#database) in the {{ydb-name}} cluster to which queries will be made. + + ![](./_assets/dbeaver-ydb-connection.png) + +1. In the **User** and **Password** fields, enter the login and password for connecting to the database. A complete list of authentication methods and connection strings for {{ ydb-name }} is provided in the [JDBC driver](https://github.com/ydb-platform/ydb-jdbc-driver) description. + +1. Click **Test Connection...** to verify the settings. + + If all settings are correct, a message indicating successful connection testing will appear: + + ![](./_assets/dbeaver-connection-test.png =400x) + +1. Click **Finish** to save the connection. + + +### Working with {{ ydb-name }} {#dbeaver_ydb_connection} + +With DBeaver, you can view the list and structure of tables: + +![](./_assets/dbeaver-table-structure.png) + +As well as execute queries on the data: + +![](./_assets/dbeaver-query.png) diff --git a/ydb/docs/en/core/integrations/index.md b/ydb/docs/en/core/integrations/index.md new file mode 100644 index 000000000000..735690416428 --- /dev/null +++ b/ydb/docs/en/core/integrations/index.md @@ -0,0 +1,60 @@ +# Integrations {{ ydb-short-name }} + +This section provides the main information about {{ ydb-name }} integrations with third-party systems. + +{% note info %} + +In addition to its own native protocol, {{ ydb-name }} has a compatibility layer that allows external systems to connect to databases via network protocols PostgreSQL or Apache Kafka. Due to the compatibility layer, many tools designed to work with these systems can also interact with {{ ydb-name }}. The compatibility level of each specific application needs to be clarified separately. + +{% endnote %} + + +## Graphical Interface Clients {#gui} + +| Environment | Instruction | Compatibility Level | +| --- | --- | --- | +| Embedded UI | [Instruction](../reference/embedded-ui/index.md) | | +| [DBeaver](https://dbeaver.com) | [Instruction](ide/dbeaver.md) | By [JDBC-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| JetBrains Database viewer | — | By [JDBC-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| [JetBrains DataGrip](https://www.jetbrains.com/datagrip/) | — | By [JDBC-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| +| Other JDBC-compatible IDEs | — | By [JDBC-driver](https://github.com/ydb-platform/ydb-jdbc-driver/releases)| + + +## Data Visualization (Business Intelligence, BI) {#bi} + +| Environment | Compatibility Level | Instruction | +| --- | :---: | --- | +| [Grafana](https://grafana.com) | Full| [Instruction](grafana.md) | + + +## Data Ingestion {#ingestion} + +| Delivery System | Instruction | +| --- | --- | +| [FluentBit](https://fluentbit.io) | [Instruction](fluent-bit.md) | +| [LogStash](https://www.elastic.co/logstash) | [Instruction](logstash.md) | +| [Kafka Connect Sink](https://docs.confluent.io/platform/current/connect/index.html) | [Instruction](https://github.com/ydb-platform/ydb-kafka-sink-connector) | +| Arbitrary [JDBC-источники данных](https://en.wikipedia.org/wiki/Java_Database_Connectivity) | [Instruction](import-jdbc.md) | + + +### Streaming Data Ingestion {#streaming-ingestion} + +| Delivery System | Instruction | +| --- | --- | +| [Apache Kafka API](https://kafka.apache.org) | [Instruction](../reference/kafka-api/index.md) | + + +## Data Migrations {#schema_migration} + +| Environment | Instruction | +| --- | --- | +| [goose](https://github.com/pressly/goose/) | [Instruction](goose.md) | +| [Liquibase](https://www.liquibase.com) | [Instruction](liquibase.md) | +| [Flyway](https://documentation.red-gate.com/fd/) | [Instruction](flyway.md) | +| [Hibernate](https://hibernate.org/orm/) | [Instruction](hibernate.md) | + +## See Also + +* [{#T}](../reference/ydb-sdk/index.md) +* [{#T}](../postgresql/intro.md) +* [{#T}](../reference/kafka-api/index.md) diff --git a/ydb/docs/en/core/integrations/toc_i.yaml b/ydb/docs/en/core/integrations/toc_i.yaml index 24b419c7dc23..defa4d702e49 100644 --- a/ydb/docs/en/core/integrations/toc_i.yaml +++ b/ydb/docs/en/core/integrations/toc_i.yaml @@ -15,3 +15,5 @@ items: href: hibernate.md - name: Importing from JDBC data sources href: import-jdbc.md +- name: DBeaver + href: ide/dbeaver.md diff --git a/ydb/docs/en/core/reference/toc_p.yaml b/ydb/docs/en/core/reference/toc_p.yaml index 36bc7926a2e5..24107db72a85 100644 --- a/ydb/docs/en/core/reference/toc_p.yaml +++ b/ydb/docs/en/core/reference/toc_p.yaml @@ -1,7 +1,7 @@ items: - name: YQL href: ../yql/reference/index.md - include: + include: mode: link path: ../yql/toc_p.yaml - name: Compatibility with PostgreSQL @@ -15,7 +15,8 @@ items: mode: link path: embedded-ui/toc_p.yaml - name: Integrations - include: + href: ../integrations/index.md + include: mode: link path: ../integrations/toc_p.yaml - name: YDB CLI 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 deleted file mode 100644 index 58a84c34f5ef..000000000000 Binary files a/ydb/docs/ru/core/integrations/ide/_assets/ydb-connection-path.png and /dev/null differ