BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Greenplum » Введение в Greenplum

Введение в Greenplum

В этой статье я расскажу о Greenplum, БД на базе PostgreSQL. По ряду причин она не очень известна на рынке MPP-баз данных, по крайней мере в Европе (подробнее о причинах мы поговорим позже). В этой статье я хотел бы поговорить об этой СУБД, ее истории, уникальных особенностях и причинах, по которым она заслуживает нашего с Вами внимания.

 

Общая информация

Greenplum - это распределенная база данных с открытым исходным кодом, предназначенная для массивно-параллельной обработки данных (MPP), разработанная компанией Pivotal Software, которая впоследствии сначала была приобретена компанией Dell, а затем - VMware. База данных была выпущена в 2005 году.

Это open-source решение, имеющее огромное количество поклонников.

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

 

 

В каких случаях Greenplum незаменима

База данных предназначена для аналитических нагрузок при работе с огромными объемами данных, я бы сказал, больше 1 ТБ. Почему именно 1 ТБ? Да потому, что начиная с именно с этой отметки использование MPP становится наиболее эффективно с точки зрения производительности/стоимости, если сравнивать с классическими СУБД.

Кроме того, Greenplum незаменима в том случае, если у Вас уже есть хранилище данных на базе традиционной СУБД, например Oracle или Postgres, но пользователи регулярно жалуются на медленную обработку запросов/отчетов. Особенно если Вам нужно хранить большие объемы данных, но Вы еще не знаете, как именно весь этот объем будет использоваться.

 

Общая архитектура

 

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

  1. Мастер - экземпляр (он же «мастер») - экземпляр Postgres, который является координатором и точкой входа для пользователей в кластер.
  2. Мастер-хост («мастер-сервер») - сервер, на котором запущен мастер-экземпляр.
  3. Вторичный мастер-экземпляр - экземпляр Postgres, который является резервным мастером; активируется в случае недоступности основного мастера.
  4. Экземпляр первичного сегмента («сегмент») - экземпляр Postgres, который хранит данные, выполняет над ними операции и возвращает результаты мастеру. Фактически, сегмент - это экземпляр PostgreSQL с настроенной WAL-репликацией на другом сервере.
  5. Хост сегмента («сервер сегмента») - сервер, на котором работает один или несколько сегментов и/или зеркал.

 

Как правило, кластер GP состоит из нескольких серверов-сегментов, одного мастер-сервера и одного зеркального сервера, соединенных одной или несколькими быстрыми сетями, как правило, взаимосвязанными.

При выборе количества серверов-сегментов важно правильно подобрать соотношение «количество процессоров/ТБ данных» в зависимости от планируемого профиля нагрузки на базу данных - чем больше процессорных ядер на единицу данных, тем быстрее кластер будет выполнять тяжелые операции, а также эффективнее работать со сжатыми таблицами.

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

  • Все ресурсы сервера делятся между всеми сегментами на сервере (нагрузкой зеркал, если они расположены на одних и тех же серверах, можно условно пренебречь);
  • Каждый запрос в одном сегменте не может потреблять больше ресурсов процессора, чем одно процессорное ядро. Это означает, что если, к примеру, кластер состоит из 32-ядерных серверов с 4 GP-сегментами на борту и используется в среднем для обработки 3-4 одновременных тяжелых CPU-запросов, то CPU в среднем будет использоваться не оптимально. В такой ситуации лучше увеличить количество сегментов на сервере до 6-8 штук;
  • Кластер работает со скоростью самого медленного сервера, поэтому следует выбирать однородные серверы и равномерно распределять данные между ними. Иногда один или несколько медленных серверов, подключенных к кластеру, могут привести к резкому падению производительности кластера. Это происходит потому, что мастер - узел должен дождаться ответа от всех сегментов и только после этого отправить ответ.

 

Хранение

Greenplum реализует классическую архитектуру шардинга данных: каждая таблица представляет N+1 таблиц на всех сегментах кластера, где N - количество сегментов (+1 в данном случае - это таблица на мастере, в ней нет данных). На каждом сегменте хранится 1/N строк таблицы. Логика разбиения таблицы на сегменты задается ключом распределения (полем), так что любая строка может быть отнесена к одному из сегментов.

Ключ распределения - очень важная концепция, хотя она и схожа с другими распределенными базами данных MPP. Как уже упоминалось выше, Greenplum работает со скоростью самого медленного сегмента, а это значит, что любой перекос в объеме данных (как внутри одной таблицы, так и во всей базе данных) между сегментами приводит к снижению производительности кластера. Именно поэтому следует тщательно выбирать поле для распределения - количество вхождений значений в него должно быть как можно более равномерным. О том, правильно ли вы выбрали ключ распределения, подскажет служебное поле gp_segment_id, которое есть в каждой таблице - оно содержит номер сегмента, на котором хранится конкретная строка.

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

Greenplum выполняет наиболее оптимальные JOIN между ключами распределения: если столбцы, по которым выполняется JOIN, являются ключами распределения в обеих таблицах, то JOIN выполняется локально на сегменте. Если это условие не верно, то GP придется либо перераспределить обе таблицы по нужному полю, либо полностью распределить одну из таблиц по каждому сегменту (операция BROADCAST), а затем локально соединить таблицы на сегментах.

 

Взаимодействие с клиентами БД

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

Для ускорения загрузки данных в кластер используется массово- параллельная загрузка данных от клиентов одновременно в несколько сегментов. Обычно такими клиентами являются ETL-серверы и другие системы, которым необходимо загружать большие объемы данных (в архитектурной схеме они обозначены как ETL/Pro client).

В старых версиях Greenplum существовал специальный интеграционный протокол, более известный как «Greenplum Hadoop File System» (GPHDFS). Он позволял Greenplum напрямую обращаться к данным, хранящимся в HDFS, и запрашивать их. Однако у него был ряд ограничений в плане производительности и поддержки различных форматов данных.

С появлением PXF (Platform Extension Framework) Greenplum предложил своим пользователям одну из ключевых функций для более продвинутого и гибкого подхода к интеграции внешних источников данных, включая HDFS. PXF стал предпочтительным методом подключения Greenplum к внешним системам по нескольким причинам:

  1. Расширенная поддержка источников данных: В отличие от GPHDFS, PXF не ограничивается HDFS, а поддерживает более широкий спектр внешних источников данных, таких как Amazon S3, Hive, HBase, подключение через JDBC и другие. Это позволяет получать доступ и анализировать данные из самых разных систем, а не только из Hadoop.
  2. Гибкость форматов данных: PXF поддерживает различные форматы данных, включая структурированные, полуструктурированные и неструктурированные данные, такие как CSV, JSON, Avro, Parquet и другие, и все это в рамках одного экземпляра Greenplum.
  3. Параллельная обработка и производительность: PXF использует параллельную обработку для распределения задач поиска данных и запросов между несколькими сегментами Greenplum.
  4. Обрезка данных и вытеснение проекций: PXF оптимизирует выполнение запросов, перенося операции фильтрации и проецирования на внешний источник данных. Это минимизирует перемещение данных и улучшает время отклика запросов.

 

 

Greenplum по праву заслуживает большего внимания

Обычно при внедрении новой системы наибольшее беспокойство вызывает ее стоимость - не так уж много компаний могут позволить себе собственный дата-центр или собственное аппаратное обеспечение. Фактически, любая база данных MPP требует большого количества вычислительных ресурсов, и организации часто боятся доводить ее даже до уровня доказательства концепции только из-за начальной цены.

Однако в долгосрочной перспективе гораздо эффективнее хранить и обрабатывать данные в собственной инфраструктуре и инвестировать в собственный опыт. Конечно, это имеет смысл только при работе с большими объемами данных и постоянных высоких рабочих нагрузках.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Партиционирование в Greenplum
Следующая статья →
Прокачайте свои навыки работы с Big Data: расширенные возможности исследования данных с помощью GreenplumPython 1.1.0 + расширенный поиск по эмбеддингам в PostgreSQL и Greenplum

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ИНВИТРО
    ИНВИТРО – крупнейшая частная медицинская компания в России, специализирующаяся на лабораторной диагностике и оказании других медицинских услуг.
     
    ИНВИТРО располагает 9 самыми современными лабораторными комплексами и крупнейшей в Восточной Европе сетью более чем из 900 медицинских офисов. Страны присутствия — Россия, Украина, Казахстан, Беларусь.
     
  • В 2003 году Мерсико и пятью микрокредитными агентствами Мерсико было принято историческое решение о консолидации активов по всей территории Кыргызстана в целях образования национального финансового института по развитию сообществ - Компаньона. В октябре 2004 года Компаньон был зарегистрирован Национальным банком Кыргызской Республики.

  • Банк "Санкт-Петербург" - это универсальный коммерческий банк, предоставляющий полный спектр финансовых услуг для частных и корпоративных клиентов. Банк основан в 1990 году и имеет генеральную лицензию Банка России на осуществление банковских операций. Сеть банка включает более 170 офисов и отделений, а также свыше 1000 банкоматов и терминалов в Санкт-Петербурге, Москве и других регионах.

  • AbbVie – компания, которая стремится решить самые серьезные проблемы здравоохранения. Это биофармацевтическая компания, сфокусированная на исследованиях и разработках.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.