DBeaver

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 21:10, 24 июня 2020.
DBeaver
Dbeaver logo.png
300px-DBeaver 5.2.5 Windows 10.png
DBeaver interface
Создатели: Serge Rider
Разработчики: Open-source community
Выпущена: 28 February 2011 года; 11 years ago (2011-02-28)
Постоянный выпуск: v7.1.0 / 31 May 2020 года; 2 years ago (2020-05-31)
Состояние разработки: Активный
Написана на: Java
Операционная система: Linux, macOS and Microsoft Windows
Лицензия: Apache License
Веб-сайт dbeaver.io

DBeaver - это клиентское приложение для управления базами данных (БД). Оно использует программный интерфейс JDBC для взаимодествия с реляционными БД через драйвер JDBC. Для NoSQL решений используются проприетарные драйвера соответствующих баз данных.

Приложение предоставляет редактор, поддерживающий заверешение кода, подсветку синтаксиса. Для обеспечения работы с большим количеством БД используется развитая система плагинов.

История

DBeaver изначально был "домашним" проектом. Основной идеей была поддержка принципов свободного ПО с удобным интерфесом, включающем в себя возможность выполнения задач, часто встающих перед пользователями БД. В сентябре 2010 года состоялось несколько публичных бета-тестов, а в 2011 был выложен первый релиз.

В этом же году был запущен веб-сайт проекта, создан форум (позднее стал использоваться GitHub)[Источник 1]. В 2012 выпущен плагин для IDE Eclipse - это привело к тому, что DBeaver стал одним из самых популярных плагинов[Источник 2].

На протяжении времени многие вендоры стали интегрироваться с DBeaver, что стало предпосылкой к появлению в 2014 году корпоративной версии приложения, добавляющей поддержку NoSQL/BigData баз данных, а также несколько плагинов к Eclipse.

В 2015 году вся разработка стала вестись на GitHub.

В 2017 поменялась лицензия - стала использоваться Apache License[Источник 3]. Также, корпоративная версия стала распространяться на коммерческой основе.

Описание релизов ведётся в соответствующем разделе сайта.

Список поддерживаемых функций

Рисунок 1 – Редактирование SQL скрипта
Рисунок 2 – Диграмма отношений сущностей

Общее

Следующий набор функций является базовым функционалом программы:

  • Исполнение SQL запросов
  • Менеджер данных
  • Подсветка синтаксиса и авто-завершение кода запросов SQL - пример на рисунке 1
  • Менеджер структуры базы данных
  • Менеджер SQL скриптов
  • Генератор языка описания данных (Data Definition Language)
  • Рендер диаграм отношений между сущностями (Entity Relationship Diagrams) - пример на рисунке 2
  • SSH туннелирование
  • Поддержка SSL
  • Экспорт/миграция данных
  • Импорт, экспорт, бэкап данных (MySQL, PostgreSQL)
  • Генерация заглушек для тестирования баз данных

В зависимости от используемой базы данных набор функций может отличаться.

Community Edition

Включает в себя поддержку следующих баз данных:

Enterprise Edition

Поддержка NoSQL баз данных появилась с версии 3.x, с этого момента DBeaver начал делиться на Community и Enterprise версии. Последняя включает в себя дополнительные функции[Источник 4]:

  • Cassandra
  • MongoDB
  • Redis
  • Persistent QM
  • Редактор JSON документов
  • Функционал корпоративной версии Eclipse

Установка

Приложение протестировано на системах под управлением MS Windows 7/8/10, Linux и Mac OS X. Для установки требуется Java версии 1.8 или выше. Установщики для Windows и MacOS уже включают пакет с OpenJDK 11.

Установочный процесс зависит от типа дистрибутива и операционной системы[Источник 5]. Приложение можно скачать с официального сайта.

Windows / MacOS установщик

Это рекомендуемый способ установки DBeaver в Windows и MacOS X. Является наиболее легким методом из-за использования продвинутой технологии архивирования, которая недоступна в случае установки с использованием ZIP-архива. Помимо этого, установщик автоматически обновляет DBeaver до новой версии, если предыдущая версия уже установлена. Чтобы установить DBeaver, запустите исполняемый файл установщика и следуйте инструкциям на его экранах.

ZIP Archive

Порядок установки вручную:

  1. Установите JDK.
  2. Извлеките содержимое архива.
  3. Запустите исполняемый файл dbeaver.

Debian пакет

Чтобы установить DBeaver, используя debian пакет, запустите команду:

$ sudo dpkg -i dbeaver-<version>.deb && dbeaver &

RPM пакет

Чтобы установить DBeaver, используя RPM пакет, запустите команду:

$ sudo rpm -ivh dbeaver-<version>.rpm && dbeaver &

Интерфейс приложения

Интерфейс приложения состоит из нескольких окон, каждое из которых отвечает за определённый функционал. Далее рассмотрим основные из них.

Навигатор баз данных

Является основным окном для работы со структурой и моделями баз данных, интерфейс представлен на рисунке 3.

Рисунок 3 – Навигатор баз данных

Содержит дерево объектов, панель инструментов и меню вида, содержащее различные опции. Каждый объект в дереве обладает своим контекстным меню. Дерево содержит следующие объекты:

  1. Директории
  2. Соединения с базами данных
  3. Объекты бах данных

В меню дерева можно сконфигурировать драйвер БД, создать новое подключение к БД, создать новую директорию, выбрать активный проект.

С помощью панели инструментов можно выполнять как стандартные функции: открытие, сохранение директорий, копирование и вставка объектов, их удаление, так и специфические для использования с базами данных: создание SQL запросов, подключение, редактирование соединения, редактирование объектов, экспорт таблиц, генерирование SQL для конкретного типа запроса (SELECT, INSERT, UPDATE и др.).

Обзор проекта

Проекты (рисунок 4) используются для группирования объектов, относящихся не к конкретной базе данных, а ко всем имеющимся соединениям. Проекты организованы в виде дерева и могут иметь следующие элементы:

  1. Соединения - дублируют функционал навигатора баз данных.
  2. Закладки - ярлыки для объектов баз данных.
  3. Межсущностные диграммы (ER Diagrams) - содержат диаграммы отношений между сущностями в базе данных.
  4. Скрипты - скрипты, созданные пользователем.
Рисунок 4 – Обзор проекта

Менеджер запросов

Содержит историю всех SQL запросов, сделанных за текущую сессию в приложении. Корпоративная версия сохраняет историю во внутреннюю базу данных, поэтому история доступна даже после перезапуска программы. Интерфейс представлен на рисунке 5.

Рисунок 5 – Менеджер запросов

Вы можете модифицировать вид менеджера, фильтруя запросы и устанавливая количество записей, отображаемых на одной странице с помощью найстройки параметров менеджера запросов.

Базовое использование приложения

Создание соединения с базой данных

DBeaver предоставляет вспомогательное окно для создания соединений, которое автоматически появляется при запуске программы в первый раз. В остальных случаях, его можно открыть самостоятельно, совершив следующую последовательность действий:

  1. Кликните на кнопку New Connection Wizard на панели инструментов навигатора баз данных.
  2. В открывшемся окне выберите Database connection.
  3. Выберите подходящий тип БД (рисунок 6).
  4. Заполните небходимые поля конфигурации (рисунки 7 и 8).

В параметрах соединения можно указывать переменные окружения системы, а также следующий список:

Имя Значение
${host} Имя хоста
${port} Номер порта
${database} Имя базы данных
${server} Имя сервера
${url} URL соединения
${user} Имя пользователя
${password} Пароль пользователя

Подтверждение соединения с базой данных

В приложении есть инструмент (рисунок 9) для проверки соединения с БД и переподключения в случае его отсутствия. Для использования этой функции нужно кликнуть на кнопку Invalidate/Reconnect в панели инструментов.

Рисунок 9 – Подтверждение соединения

Просмотр плана выполнения запроса

Если драйвер БД поддерживает визуализацию плана выполнения, то можно открыть её нажатием сочетания клавиш Ctrl+Shift+E. Команда генерирует дерево выполнения запроса и позволяет определить, насколько запрос оптимален (рисунок 10):

Рисунок 10 – Окно плана выполнения запроса

Можно выделять строки плана, чтобы увидеть детали на панели ниже и в окне справа.

В корпоративной версии доступная продвинутая визуализация (рисунок 11). Она показывает наиболее дорогие этапы выполнения. Можно скрыть все нерелевантные этапы, смотреть детали этапов, использовать горизонтальную или вертикальную вёрстку, экспортировать в изображение или сохранить в JSON виде.

Рисунок 11 – Граф плана исполнения запроса

Редактор объектов базы данных

Редактор объектов (или метаданных) доступен для множества объектов БД, таких как таблицы, виды и схемы. Чтобы открыть редактор объекта:

  • Сделайте дабл-клик на объект
  • Кликните на объект базы данных и нажмите Enter или F4

У редактора есть три вкладки (рисунок 12):

  • Свойства есть у всех объектов
  • Данные отображаются для таблиц и видов, используются редактором данных
  • Диаграмма отношений сущностей отображается для таблиц и схем
Рисунок 12 – Редактор объектов

Путь объекта показывает цепь всех его родительских объектов. Они кликабельны - клик открывает либо родительские объекты, либо окно редактора.

Видео-демонстрация

В видео приведён пример работы с DBeaver.

Источники

  1. DBeaver forum. URL: https://dbeaver.io/forum/ (дата обращения: 14.06.2020).
  2. Successful Installs (30 days) // Eclipse Plugins, Bundles and Products - Eclipse Marketplace. URL: https://marketplace.eclipse.org/metrics/successful_installs/last30days (дата обращения: 14.06.2020).
  3. DBeaver CE relicense on Apache License // GitHub. URL: https://github.com/dbeaver/dbeaver/issues/1180 (дата обращения: 14.06.2020).
  4. Enterprise Edition features // DBeaver Community portal. URL: https://dbeaver.io/download/ (дата обращения: 14.06.2020).
  5. Installation // GitHub. URL: https://github.com/dbeaver/dbeaver/wiki/Installation (дата обращения: 14.06.2020).