Поддерживаемые клиентские приложения

Пользователи могут подключаться к базе данных ADB с помощью различных клиентских приложений:

  • Ряд клиентских приложений ADB предоставляется с установщиком. Клиентское приложение psql предоставляет интерфейс командной строки;

  • Используя стандартные интерфейсы приложений баз данных, такие как ODBC и JDBC, пользователи могут создавать свои собственные клиентские приложения, взаимодействующие с базой данных ADB. Поскольку СУБД ADB основана на PostgreSQL, она использует стандартные драйверы баз данных PostgreSQL.

    • с ADB 5 совместимы ODBC и JDBC драйвера для PostgreSQL 8.3.0 или выше.
    • с ADB 6 совместимы ODBC и JDBC драйвера для PostgreSQL 9.4.24 или выше.
  • Большинство сторонних клиентских инструментов, которые используют стандартные интерфейсы базы данных, такие как ODBC и JDBC, могут быть настроены для подключения к ADB.

Клиентские приложения ADB (Client Tools)

База данных ADB поставляется с несколькими клиентскими приложениями, расположенными в $GPHOME/bin главной хост-системы. В таблице перечислены наиболее часто используемые клиентские приложения.

Табл. 5. Клиентские приложения
Имя Применение
createdb Создать новую базу данных
createlang Определить новый процедурный язык
createuser Определить новую роль базы данных
dropdb Удалить базу данных
droplang Удалить процедурный язык
dropuser Удалить роль
PSQL Интерактивный терминал PostgreSQL
reindexdb Переиндексировать базу данных
vacuumdb Сбор мусора и анализ базы данных

При использовании клиентских приложений следует подключиться к базе данных с помощью инстанса мастера ADB. Необходимо узнать имя целевой базы данных, имя хоста и номер порта мастера, а также имя пользователя базы данных для подключения. Эта информация может быть предоставлена в командной строке с использованием опций -d, -h, -p и -U соответственно. Если находится аргумент, не принадлежащий ни одному из параметров, он интерпретируется как имя базы данных.

Все эти параметры имеют значения по умолчанию, которые используются, если опция не указана. По умолчанию, хостом является локальный хост. Номер порта – 5432. Имя пользователя – это имя пользователя системы ОС, как и имя базы данных по умолчанию. Следует обратить внимание, что имена пользователей ОС и имена пользователей ADB необязательно должны быть одинаковы. Если значения по умолчанию неверны, можно установить переменные PGDATABASE, PGHOST, PGPORT и PGUSER на соответствующие значения или использовать файл psql~/.pgpass для хранения часто используемых паролей.

Клиентские утилиты загрузки данных в ADB (Loader Tools)

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

  • Red Hat 8.5

Клиентская машина с приложениями для загрузки данных должна: + иметь сетевой доступ со всемт нодами Arenadata DB (мастер-нодой и сегмент-нодами). + иметь сетевой доступ к ETL-серверам, на которых лежат данные для загрузки.

Для установки клиентских утилит загрузки данных в ADB надо скачать rpm-пакет gpdb-loaders-<Версия ADB>.rpm на клиентскую машину и установить через пакетный менеджер операционнной системы. Утилиты будут доступны из директории /usr/lib/gpdb/bin/.

Также потребуется применить файл /usr/lib/gpdb/greenplum_path.sh перед вызовом утилит загруки. Например, на Red Hat нужно запустить:

$ source /usr/lib/gpdb/greenplum_path.sh

Для работы gpload дополнительно требуется Python 2 версии 2.7 и выше с модулями pyyaml, pygresql.

Подключение с помощью psql

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

$ psql -d gpdatabase -h master_host -p 5432 -U gpadmin
$ psql gpdatabase
$ psql

Если пользовательская база данных еще не создана, можно получить доступ к системе, подключившись к базе данных template1. Например:

$ psql template1

После подключения к базе данных psql предоставляет приглашение с именем базы данных, к которой в настоящее время подключен psql, а затем строковой тип => (или = # для суперпользователя базы данных). Например:

gpdatabase =>'

В командной строке можно вводить команды SQL для отправки на сервер и для выполнения, при этом каждая команда должна заканчиваться на знак ;. Например:

=> SELECT * FROM mytable;

Интерфейсы приложений баз данных

Есть возможность разработки собственных клиентских приложений, взаимодействующих с ADB. PostgreSQL предоставляет ряд драйверов баз данных для наиболее часто используемых API, которые также могут использоваться с ADB. Эти драйверы не упакованы базовым дистрибутивом ADB. Каждый драйвер является независимым проектом разработки PostgreSQL и должен быть загружен, установлен и настроен для подключения к ADB. Доступные драйверы представлены в таблице.

Табл. 6. Интерфейсы базы данных
API Драйвер PostgreSQL Ссылка для скачивания
ODBC pgodbc https://odbc.postgresql.org/
JDBC pgjdbc https://jdbc.postgresql.org/
Perl DBI pgperl http://gborg.PostgreSQL.org/project/pgperl
Python DBI pygresql http://www.pygresql.org

Общие инструкции по доступу к ADB с помощью API:

  1. Загрузить платформу и соответствующий API из источника. Например, можно получить Java-комплект разработчика (JDK) и API JDBC от Sun.
  2. Записать клиентское приложение в соответствии со спецификациями API. При программировании приложения необходимо следить за тем, чтобы не был включен какой-либо неподдерживаемый синтаксис SQL.
  3. Загрузить соответствующий драйвер PostgreSQL и настроить подключение к мастер-инстансу базы данных ADB. ADB предоставляет пакет клиентских инструментов, содержащий поддерживаемые драйверы.

Инструменты сторонних клиентов

В большинстве сторонних средств ETL и бизнес-аналитики BI используются стандартные интерфейсы баз данных, такие как ODBC и JDBC. Их можно настроить для подключения к ADB, которая работает со следующими инструментами:

  • Business Objects;
  • Microstrategy;
  • Informatica Power Center;
  • Microsoft SQL Server Integration Services (SSIS) and Reporting Services (SSRS);
  • Ascential Datastage;
  • SAS;
  • Cognos.

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