Skip to content

integrations en version #7912

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions ydb/docs/en/core/integrations/ide/dbeaver.md
Original file line number Diff line number Diff line change
@@ -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-<driver-version>.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-<driver-version>.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:<ydb_endpoint>/<ydb_database>?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)
60 changes: 60 additions & 0 deletions ydb/docs/en/core/integrations/index.md
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 2 additions & 0 deletions ydb/docs/en/core/integrations/toc_i.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ items:
href: hibernate.md
- name: Importing from JDBC data sources
href: import-jdbc.md
- name: DBeaver
href: ide/dbeaver.md
5 changes: 3 additions & 2 deletions ydb/docs/en/core/reference/toc_p.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
Binary file not shown.
Loading