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 на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Файлы Parquet повсюду

Файлы Parquet повсюду

Для многих аналитиков, работающих с большими данными, формат файлов Parquet является золотым стандартом. Он присутствует практически во всех наших рабочих процессах - озера данных, денормализованные таблицы и многое другое построено на Parquet. Но насколько хорошо мы понимаем этот формат? Что отличает его от таких альтернатив, как Avro или CSV? И, возможно, самое важное – в каких случаях Parquet – не самое лучшее решение?

Я сделаю небольшое отступление и рассмотрю различные форматы хранения данных. Такой подход поможет прояснить преимущества и ограничения файла Parquet, сделав «почему» и «почему нет» более очевидными.

 

Хранение данных, ориентированное на строки

Хранилище на основе строк хранит все данные одной строки в едином непрерывном месте на диске. Оно лучше всего подходит для систем OLTP (Online Transaction Processing). Например, система бронирования отелей.

 

Хранение на основе строк имеет ряд преимуществ. Оно быстро обращается к отдельным записям и обеспечивает эффективное обновление. Это связано с тем, что изменяется только конкретная строка, не затрагивая другие. Это хранилище не очень хорошо справляется с аналитическими задачами. К технологиям в этой области относятся MySQL, PostgreSQL, Avro или CSV.

Хранилище на основе строк отлично справляется с такими запросами, как «Как называется строка 2?» или «Найти все продажи в США?». Можно представить себе хранилище на основе строк как множество книг, где каждая книга содержит полную историю одного человека (идеально для быстрого поиска истории конкретного человека).

 

Хранение, ориентированное на столбцы

Хранилище на основе столбцов хранит все значения одного столбца вместе. Это оптимальный вариант для аналитики (OLAP-системы).

 

Хранилище на основе столбцов очень быстро справляется с суммированием, усреднением или подсчетом. Кроме того, оно обеспечивает отличное сжатие. К технологиям в этой области относятся файлы Parquet - или нет? подробнее об этом позже - и ORC.

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

Хранилище на основе столбцов отлично справляется с такими запросами, как «Каково общее количество продаж?». Можно представить себе хранилище на основе столбцов как книгу, в которой каждая глава содержит данные об определенном атрибуте: возрасте, имени, городе.

 

 

Гибридное хранение данных, Привет, Parquet!

Если Вы попросите ChatGPT привести примеры хранилищ, ориентированных на столбцы, он с гордостью скажет Вам, что Parquet – это то, что Вам нужно. Но это не совсем так, ведь файлы Parquet - это гибридное хранилище. И вот почему:

Файлы Parquet организуют данные вертикально (группы столбцов) и горизонтально (группы строк). Преимуществами этого формата файлов являются метаданные, кодирование и многофайловость. Файлы Parquet - отличный вариант для решения  аналитических задач с большим объемом данных.

  • Файлы Parquet организуют данные вертикально (куски столбцов) и горизонтально (группы строк). Преимуществами этого формата файлов являются метаданные, кодирование и многофайловость. Файлы Parquet - отличный формат для аналитических задач с большим объемом данных.
  • Метаданные: Содержат важную информацию, например, минимальные и максимальные значения каждого столбца. Движки запросов используют эти метаданные, чтобы эффективно пропускать целые группы строк и считывать только необходимые столбцы, что значительно повышает производительность.
  • Кодировка: Файлы Parquet имеют словарное кодирование вместе с кодированием длины выполнения (Run-Length Encoding, RLE). При словарном кодировании большие строки заменяются целыми числами, а их сопоставление сохраняется в метаданных. После словарного кодирования данные дополнительно сжимаются с помощью RLE.
  • Многофайловые файлы / партиционирование: Parquet поддерживает разбиение на разделы и многофайловый вывод, позволяя разделить наборы данных на несколько файлов или каталогов по заданным критериям. Например, для повышения производительности запросов принято разделять файлы по дате: данные за 2024-08-01 хранятся в папке date=2024-08-01, а данные за 2024-08-02 - в date=2024-08-02. Используя дату в качестве фильтра, системы запросов пропускают неактуальные разделы, значительно сокращая объем обрабатываемых данных.

 

 

Итак, файлы Parquet максимально эффективны при минимизации сканирования таблиц и отлично справляются со сжатием, так почему бы не использовать их постоянно в аналитических целях? Ниже приведены два случая, в которых лично я воздержался бы от использования Parquet…

Во-первых, если Вы когда-нибудь использовали Parquet, то наверняка знаете, что при получении конкретного значения или при доступе всего к нескольким строкам он крайне медлителен. Это происходит потому, что файлы содержат много оверхедов. Метаданные и сжатие? При небольших объемах чтения стоимость разбора этих метаданных может перевесить все их преимущества. Кроме того, декомпрессия и декодирование для небольших запросов добавляют накладные оверхеды. Другими словами, не храните данные в Parquet, если Вы используете OLTP.

Второе: Parquet - не самое оптимальное решение для небольших наборов данных. Хранение множества небольших файлов в формате Parquet может привести к снижению производительности. Например, если Ваш пайплайн часто вызывает API для получения небольших фрагментов данных, использование Parquet приведет к нежелательным оверхедам на метаданные и сжатие. Это не только увеличивает время записи файлов, но и может привести к увеличению затрат на хранение данных в Вашем ETL-пайплайне.

 

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

← Предыдущая статья
Apache Parquet: Как стать героем, используя формат колоночно-ориентированных данных с открытым исходным кодом
Следующая статья →
Apache Iceberg: Hadoop современного стека данных?
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

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

Клиенты
  • Компания "Норникель" - лидер горно-металлургической отрасли в России и мире. Она производит металлы, необходимые для развития экологичной экономики и транспорта.

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

  • «Восток-Запад» – крупнейший поставщик продуктов в рестораны, кафе, гостиницы, кейтеринговые компании, столовые, комбинаты питания и кондитерские производства. 300+ городов регулярной доставки по всей территории России и странам СНГ; 3500+ товаров профессиональных брендов.

  • 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 и политикой конфиденциальности.