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: хранилище данных, ориентированное на строки vs столбцы

Управление таблицами в Greenplum: хранилище данных, ориентированное на строки vs столбцы

Колоночные базы данных становятся все более и более популярными в области OLAP. Традиционные же базы данных, ориентированные на строки, понемногу отходят на второй план.

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

Колоночная база данных — это такой тип БД, в котором данные группируются (хранятся и извлекаются) не по строкам, а по столбцам.

 

Как выбрать тип хранилища данных в Greenplum?

Для большинства рабочих нагрузок общего назначения хранилище,  ориентированное на строки, предлагает отличное сочетание гибкости и производительности. Однако модель хранения, ориентированная на столбцы, обеспечивает более эффективное выполнение  операций I/O и более надежное хранение данных.

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

 

Строковое хранение данных

  • Обновление данных: если Вам необходимо часто обновлять таблицу, выберите строковое хранение;
  • LOAD/частые операции INSERT: выберите модель хранения, ориентированную на строки, в том случае, если Вам важна эффективная работ LOAD или если Вам необходимо часто выполнять операцию добавления новых строк.

 

 

Столбцовое хранение данных

  • Сжатие данных: столбцовое хранение данных наиболее эффективно для сжатия данных (так как в столбцах зачастую хранятся повторяющиеся данные;
  • Количество столбов в запросе: БД, ориентированные на столбцы, лучше всего подходят для запросов, в которых агрегируется множество значений одного столбца, а WHERE или HAVING также относится к агрегированному столбцу.

 

Например:

SELECT SUM(salary)…

 

или

SELECT AVG(salary)… WHERE salary > 10000

 

или когда предикат WHERE относится к одному столбцу и возвращает относительно небольшое количество строк. Например:

SELECT salary, dept … WHERE state=’CA’

 

  • Количество столбцов в таблице: таблицы, ориентированные на столбцы, могут обеспечить лучшую производительность запросов для таблиц с большим количеством столбцов, особенно в том случае, если Вы обращаетесь к небольшому подмножеству столбцов. Хранилище, ориентированное на строки, более эффективно, когда требуется обработать сразу много столбцов или когда размер строки в таблице относительно невелик.

 

Пример из реальной жизни:

На 4-узловой системе Greenplum (v6.6.0) на AWS мы протестировали две модели хранения данных:

  • Таблица, ориентированная на строки (без сжатия) (amzn-reviews-ro),
  • Таблица, ориентированная на столбцы (сжатие ZLib-Level 3) (amzn-reviews-co).

 

Модели хранения данных сравнивались  по эффективности выполнения 6 задач:

 

Массовая загрузка данных (BULK LOADING)  - ~151M строк

  • Загрузка amzn-reviews-ro заняла примерно 544,98 секунды (или примерно 9 минут и 5 секунд),
  • Загрузка amzn-reviews-co заняла 552,29 секунды (примерно 9 минут и 12 секунд).

 

Загрузка данных из другой таблицы -  ~151M строк

  • Загрузка amzn-reviews-ro заняла ~216 секунд (или 3 минуты и 36 секунд), а
  • Загрузка amzn-reviews-co заняла ~98 секунд (или 1 минуту и 38 секунд).

 

Размер таблицы и использование дискового пространства

  • amzn-reviews-ro  - ~80 ГБ (без сжатия),
  • amzn-reviews-co -  ~74 ГБ/32 ГБ (до/после сжатия), или ~56% сжатия в целом.

 

Компактный SELECT — 1x   “Короткое” поле данных

SELECT product_id 
 FROM demo.amzn_reviews_*** WHERE DATE_PART('year', review_date) BETWEEN 2000 AND 2005;

 

  • для amzn-reviews-ro выполнено за 5845,564 мс, а
  • для amzn-reviews-co выполнено за 3350.621 мс.

 

Компактный SELECT — 1x “Длинное” поле данных

SELECT review_body 
 FROM demo.amzn_reviews_*** WHERE DATE_PART('year', review_date) BETWEEN 2000 AND 2005;
 
  • для amzn-reviews-ro выполнено за 9244.800 мс, а
  • для amzn-reviews-co выполнено за 23396.014 мс.

 

Компактный SELECT — Мало столбцов

SELECT product_id, 
        marketplace,         product_category,         star_rating FROM demo.amzn_reviews_***  WHERE DATE_PART('year', review_date) BETWEEN 2000 AND 2005;
 
  • для  amzn-reviews-ro выполнено за 5717.630 мс, а
  • для amzn-reviews-co выполнено за 4548.015 мс

 

Расширенный SELECT — Преобладающее большинство/Множество столбцов

SELECT marketplace
      , customer_id      , product_id      , product_title      , product_parent       , product_category      , star_rating      , helpful_votes      , total_votes      , vine      , verified_purchase      , review_headline, review_body  FROM demo.amzn_reviews_*** WHERE DATE_PART('year', review_date) BETWEEN 2000 AND 2005;

 

  • для amzn-reviews-ro выполнено за 10359.897 мс, а
  • для amzn-reviews-co выполнено за 29237.993 мс.

 

Агрегатная/оконная функция по ограниченному количеству столбцов

SELECT COUNT(*)
      , product_category      , star_rating  FROM demo.amzn_reviews_heap  GROUP BY 2, 3, 4;

 

  • для  amzn-reviews-ro выполнено за 3989.040 мс, а
  • для amzn-reviews-co - за 1835.179 мс

 

Агрегатная/оконная функция по большому количеству столбцов

SELECT COUNT(*) 
      , ROUND(AVG(helpful_votes)) AS helpful_votes_avg       , ROUND(AVG(total_votes)) AS total_votes_avg       , marketplace       , product_category       , star_rating       , verified_purchase       , CASE WHEN LENGTH(review_headline)<= 20 THEN 'Short Headline' ELSE 'Long Headline' END AS review_headline_length_type       , CASE WHEN LENGTH(review_body)<= 400 THEN 'Short Body' ELSE 'Long Body' END AS review_body_length_type FROM demo.amzn_reviews_ro  GROUP BY 4, 5, 6, 7, 8, 9;

 

  • для  amzn-reviews-ro выполнено за 2780.567 мс, а
  • для amzn-reviews-co - за 1890.663 мс.

 

Заключение

Если Вам нужен не просто универсальный инструмент, тогда обратите свое внимание на Greenplum – СУБД,  отличающуюся гибридным подходом в области хранения. Greenplum предусматривает сразу несколько моделей хранения таблиц, оптимизированных для разных сценариев использования.

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

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

← Предыдущая статья
Как устроена Greenplum?
Следующая статья →
20 команд разделения, доступные в Greenplum 7

Решения

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

Клиенты
  • В «Пивоваренной компании «Балтика» аналитическая платформа Loginom применяется для моделирования процессов или построения отчетов, в том числе для формирования рекомендаций по корректировке плана промоактивностей.
     
  • ООО «Модум-Транс» — независимый оператор грузовых железнодорожных перевозок, лидирующий по количеству инновационного парка на сети РЖД.

  • «Лента» – первая по величине сеть гипермаркетов и четвертая среди крупнейших розничных сетей страны. Компания была основана в 1993 г. в Санкт-Петербурге.

    «Лента» управляет 249 гипермаркетами в 88 городах России и 131 супермаркетом в Москве, Санкт-Петербурге, Сибири, Уральском и Центральном регионах с общей торговой площадью около 1 494 тыс. кв. м. Средняя торговая площадь одного гипермаркета «Лента» составляет около 5 500 кв.м, средняя площадь супермаркета – 800 кв.м. Компания оперирует двенадцатью распределительными центрами. Штат компании – около 50, 5 тыс. человек.

  • СберКорус (Группа компаний Сбербанка) – это ИТ‑компания, ИТ‑интегратор, SaaS-провайдер. Является разработчиком цифровых сервисов и услуг для автоматизации широкого диапазона бизнес-процессов юридических лиц. В 2004 году компания стала первым в России оператором электронного документооборота, а в 2012 году вошла в экосистему Сбера. 

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • 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 и политикой конфиденциальности.