Как ускорить Greenplum с Heimdall Database Proxy: лайфхак для администратора

Heimdall Database Proxy Greenplum Arenadata DB обучение курсы примеры, Greenplum для администраторов и инженеров данных обучение курс примеры, установка и развертывание Greenplum Arenadata DB, Школа Больших Данных Учебный центр Коммерсант

Сегодня рассмотрим, что такое Heimdall Database Proxy и как это пригодится администратору кластера Greenplum и разработчику распределенных приложений, взаимодействующих с этой MPP-СУБД. А также разберем, с какими проблемами администратор кластера может столкнуться при настройке совместного использования этих систем, и как их решить.

Что такое Heimdall Database Proxy

Хотя Greenplum работает вполне оперативно и используется в качестве MPP-хранилища для OLAP-приложений, у бизнес-пользователей часто возникают потребности еще более ускорить эту СУБД. Сделать это можно с помощью Heimdall Database Proxy — уровеня доступа к данным для разработчиков приложений, администраторов баз данных и архитекторов, который обеспечивает более быстрое, масштабируемое и безопасное решение для реляционной базы данных. Heimdall Database Proxy — это не кэш, но он предоставляет логику кэширования для существующих grid-кэшей, не требует никаких изменений в коде приложения. Для разработчиков приложений политики кэширования обычно закодированы в коде, что увеличивает циклы разработки. Прокси-сервер Heimdall автоматизирует кэширование в один клик, автоматически определяя, какие запросы следует кэшировать и аннулировать, чтобы обеспечить максимальную производительность и целостность данных и разделение чтения/записи с ACID Compliance. Для реализации архитектуры мастер-записи и реплики чтения требуются изменения приложения: прокси направляет запросы в соответствующий экземпляр базы данных распределенной системы. Но благодаря обнаружению задержки репликации можно гарантировать согласованность данных.

Количество подключений между бэкендом и клиентом сокращается в соотношении до 1000:1. Можно ограничить количество соединений для каждого пользователя и для каждой базы данных, чтобы защитить базу данных от перегрузки. Также Heimdall Database Proxy поддерживает аутентификацию и авторизацию через интеграцию с Active Directory.

Поскольку Heimdall работает над фактическим уровнем доступа к данным, он предлагает такие же преимущества, как и любая другая база данных, при условии, что драйвер доступа соответствует JDBC, включая видимость того, какие запросы занимают больше всего времени для обработки, что особенно значимо в Big Data проектах. Поскольку Greenplum относится к этому стеку, преимущества, которые дает Heimdall Database Proxy актуальны и для этой MPP-СУБД, что мы и рассмотрим далее.

Совместное использование с Greenplum

На практике пользователи базы данных Greenplum могут столкнуться со следующими проблемами из-за неэффективного взаимодействия приложений, такими как большое количество подключений и повторяющиеся запросы. Heimdall Database Proxy решает эти проблемы, повышая производительность, надежность и безопасность операций. Это решение для кэширования результатов работает с любым хранилищем, предоставляя кэш и логику аннулирования.

Каждое подключение к базе данных требует ценных ресурсов, которые можно лучше использовать для активных запросов. Поэтому желательно уменьшить общее количество подключений. Существует два метода прокси Heimdall, которые уменьшают накладные расходы на подключение:

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

Прокси Heimdall поддерживает единый вход через Active Directory и LDAP, извлечение групп и синхронизация ролей для авторизации, регистрацию запросов для аудита и пакетную обработку. Если некоторые устаревшие приложения генерируют одноэлементный DML-запрос, например, INSERT вместо массовой загрузки данных в таблицу, прокси-сервер Heimdall может прозрачно сгруппировать эти DML-операции в рамках одной транзакции. Это уменьшает время отклика приложения из-за меньшего количества коммитов: Heimdall Proxy объединяет INSERT вместе и обрабатывает их одновременно.

Heimdall Proxy помогает повысить отказоустойчивость Greenplum, в случае сбоя устанавливая в очередь текущее внешнее подключение, и прозрачно переключается на резервный основной сервер. При этом подключение к приложению сохраняется, что помогает предотвратить ошибки и исключения приложений во время отработки отказа. Архитектура Heimdall была разработана для простоты развертывания без необходимости модификации приложения или базы данных. Изменения конфигурации обновляются во время выполнения без перезапуска приложения. Конечным результатом является платформа, которую можно обновлять со 100% временем безотказной работы приложений.

Настроить совместное использование Heimdall Database Proxy с Greenplum можно в пользовательском интерфейсе этой MPP-СУБД, в настройках мастер, где надо установить источники данных, параметры кэша и функции по умолчанию. При использовании Greenplum в качестве типа базы данных выбирается PostgreSQL, на которой основана эта MPP-СУБД, о чем мы писали здесь. На практике при установке Heimdall Database Proxy с Greenplum администратор кластера может столкнуться со следующими типовыми проблемами:

  • брандмауэр блокирует порт 8087 или порт для подключения к Greenplum (обычно 5432). Поэтому нужно убедиться, что эти порты открыты в используемой группе безопасности.
  • Доступ для скачивания необходимых пакетов из скрипта hdinstall недоступен. Часто это случается из-за брандмауэров. Скрипт hdinstall использует встроенную систему управления пакетами для систем Debian/Ubuntu, Redhat/Centos и Suse для установки Java. Если эти стандартные пакеты недоступны через диспетчер зависимостей или система не подключена к Интернету, следует установить их в автономном режиме.
  • Недостаточно памяти для запуска сервера управления и прокси-узла. Обычно это случается из-за старой версии ОС и зависимостей, например, загружается Java 7, а не Java 8. Проблема решается простым обновлением на более свежие версии ПО.

Освойте практику администрирования и эксплуатации Greenplum и Arenadata DB для эффективного хранения и аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://greenplum.org/white-paper-heimdall-proxy-for-greenplum-databases/
  2. https://www.heimdalldata.com/overview/
  3. https://www.heimdalldata.com/faq/
  4. https://docs.pivotal.io/partners/heimdall-database-proxy/using.html
Поиск по сайту