Большие данные. Аналитические базы данных и хранилища: Greenplum

Статья представляет собой продолжение исследований Больших Данных и инструментария, трансформируемого в новое поколение технологий и архитектур платформ баз данных и хранилищ для интеллектуального вывода. Рассмотрен ряд прогрессивных разработок известных в мире ИТ-компаний, в частности Greenplum DB....

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2019
Автор: Урсатьев, А.А.
Формат: Стаття
Мова:Russian
Опубліковано: Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України 2019
Назва видання:Управляющие системы и машины
Теми:
Онлайн доступ:http://dspace.nbuv.gov.ua/handle/123456789/161586
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Большие данные. Аналитические базы данных и хранилища: Greenplum / А.А. Урсатьев // Управляющие системы и машины. — 2019. — № 2. — С. 40-69. — Бібліогр.: 70 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-161586
record_format dspace
spelling irk-123456789-1615862019-12-15T01:25:51Z Большие данные. Аналитические базы данных и хранилища: Greenplum Урсатьев, А.А. Технические средства информатики Статья представляет собой продолжение исследований Больших Данных и инструментария, трансформируемого в новое поколение технологий и архитектур платформ баз данных и хранилищ для интеллектуального вывода. Рассмотрен ряд прогрессивных разработок известных в мире ИТ-компаний, в частности Greenplum DB. Мета. Розглянути та оцінити ефективність застосування інфраструктурних рішень нових розробок в дослідженнях Великих Даних для виявлення нових знань, неявних зв'язків і поглибленого розуміння, проникнення в суть явищ і процесів. Методи. Інформаційно-аналітичні методи і технології обробки даних, методи оцінки та прогнозування даних, з урахуванням розвитку найважливіших галузей інформатики та інформаційних технологій. Результати. Greenplum, так само як Netezza і Teradata, створив свій комплекс Data Computing Appliance, пізніше – аналітичну БД Pivotal Greenplum Database корпоративного класу з потужною і швидкою аналітикою для великих обсягів даних під торговою маркою Pivotal. Purpose. The purpose is to consider and evaluate the application effectiveness of the infrastructure solutions for new developments in the Big Data study, to identify new knowledge, the implicit connections and indepth understanding, insight into phenomena and processes. Methods. The informational and analytical methods and technologies for data processing, the methods for data assessment and forecasting, taking into account the development of the most important areas of the informatics and information technology. Results. Greenplum, as well as Netezza and Teradata, created its Data Computing Appliance (DCA) complex, and later, an analytical Pivotal database Greenplum Database of corporate class with powerful and fast analytics for large data volumes under the Pivotal trademark. 2019 Article Большие данные. Аналитические базы данных и хранилища: Greenplum / А.А. Урсатьев // Управляющие системы и машины. — 2019. — № 2. — С. 40-69. — Бібліогр.: 70 назв. — рос. 0130-5395 DOI: https://doi.org/10.15407/usim.2019.02.040 http://dspace.nbuv.gov.ua/handle/123456789/161586 303.721;004.03142 ru Управляющие системы и машины Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Russian
topic Технические средства информатики
Технические средства информатики
spellingShingle Технические средства информатики
Технические средства информатики
Урсатьев, А.А.
Большие данные. Аналитические базы данных и хранилища: Greenplum
Управляющие системы и машины
description Статья представляет собой продолжение исследований Больших Данных и инструментария, трансформируемого в новое поколение технологий и архитектур платформ баз данных и хранилищ для интеллектуального вывода. Рассмотрен ряд прогрессивных разработок известных в мире ИТ-компаний, в частности Greenplum DB.
format Article
author Урсатьев, А.А.
author_facet Урсатьев, А.А.
author_sort Урсатьев, А.А.
title Большие данные. Аналитические базы данных и хранилища: Greenplum
title_short Большие данные. Аналитические базы данных и хранилища: Greenplum
title_full Большие данные. Аналитические базы данных и хранилища: Greenplum
title_fullStr Большие данные. Аналитические базы данных и хранилища: Greenplum
title_full_unstemmed Большие данные. Аналитические базы данных и хранилища: Greenplum
title_sort большие данные. аналитические базы данных и хранилища: greenplum
publisher Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
publishDate 2019
topic_facet Технические средства информатики
url http://dspace.nbuv.gov.ua/handle/123456789/161586
citation_txt Большие данные. Аналитические базы данных и хранилища: Greenplum / А.А. Урсатьев // Управляющие системы и машины. — 2019. — № 2. — С. 40-69. — Бібліогр.: 70 назв. — рос.
series Управляющие системы и машины
work_keys_str_mv AT ursatʹevaa bolʹšiedannyeanalitičeskiebazydannyhihraniliŝagreenplum
first_indexed 2025-07-14T14:11:56Z
last_indexed 2025-07-14T14:11:56Z
_version_ 1837631869116481536
fulltext DOI https://doi.org/10.15407/usim.2019.02.040 УДК 303.721;004.03142 А.А. УРСАТЬЕВ, канд. техн. наук, старший научный сотрудник, ведущий научный сотрудник, Международный научно-учебный центр информационных технологий и систем НАН и МОН Украины, просп. Академика Глушкова, 40, Киев 03187, Украина, aleksei@irtc.org.ua БОЛЬШИЕ ДАННЫЕ. АНАЛИТИЧЕСКИЕ БАЗЫ ДАННЫХ И ХРАНИЛИЩА: GREENPLUM Статья представляет собой продолжение исследований Больших Данных и инструментария, трансформируемого в новое поколение технологий и архитектур платформ баз данных и хранилищ для интеллектуального вывода. Рассмотрен ряд прогрессивных разработок известных в мире ИТ-компаний, в частности Greenplum DB. Ключевые слова: Greenplum Data Computing Appliance, MPP-архитектура без разделения ресурсов на основе ядра Post- greSQL, технология MPP Scatter/Gather Streaming загрузки (выгрузки), полиморфное хранение данных, аналитика Big Data, интеграция платформ, механизм запросов SQL Hadoop HAWQ, самообслуживание данными. 40 ISSN 0130-5395, Control systems and computers, 2019, № 2 Общая характеристика Greenplum (NYSE: EMC) Greenplum Database® — это первая в мире полнофункциональная платформа с откры- тым исходным кодом — проект выпущен под лицензией Apache 2 [90]. СУБД Greenplum1 — это реляционная база данных, использую- щая широкомасштабную параллельную MPP- архитектуру без разделения ресурсов (Shared Nothing), на основе ядра Postgres2 Core. Обес- печивает автоматическое распараллеливание данных и запросов в масштабируемой до раз- меров петабайт среде обработки. Доступ и за- прос данных осуществляется через внешний синтаксис таблицы. Предназначена для управ- ления крупномасштабными аналитическими 1 – http://dbdb.io/db/greenplum 2 – объектно-реляционная база данных с более чем 30-летней разработкой, заслужившая высокую репу- тацию за надежность, функциональность и произво- дительность - https://www.postgresql.org/ хранилищами данных и рабочими нагрузками бизнес-аналитики и науки о данных. Масштабируемая платформа реляционных БД Greenplum Database разработана компа- нией Greenplum Software (основана в 2003 г.), впоследствии (июль 2010 г.) приобретенной корпорацией EMC. Торговая марка «Greenplum» для СУБД была сохранена, а разработка пере- дана в 2012 г. подразделению Pivotal — незави- симой компании программного обеспечения, принадлежащей EMC, VMware и General Electric. EMC вышла на рынок хранилищ данных и ана- литики, представив Greenplum Database 4.0 и EMC Greenplum Data Computing Appliance (DCA), и позже — аналитическую БД Pivotal Greenplum Database корпоративного класса с мощной и быстрой аналитикой для больших объемов данных под торговой маркой Pivotal. Рыноч- ный потенциал и необходимость иметь эффек- тивную технологию для работы в пространстве хранилища данных, вероятно, явились ключе- Методы и средства обработки данных ISSN 0130-5395, УСиМ, 2019, № 2 41 Большие данные. Аналитические базы данных и хранилища: Greenplum выми факторами, которые привели к тому, что EMC приобрела Greenplum Software [30, 91–98]. Автор уже обращался к теме специализи- рованных хранилищ и устройств обработки данных, представляющих собой сконфигури- рованный, подготовленный к быстрому ис- пользованию, автономный аппаратно-прог- раммный комплекс (Appliances), объединяю- щий хранение и обработку данных в одной системе, спроектированной и оптимизирован- ной под принятие аналитических решений [98, 99]. Обусловлено это было (конец 90-х годов XIX ст. — начало 2000 годов) возрастающими требованиями информационной поддержки принятия решений на фоне стремительно уве- личивающегося роста Больших Данных (Big Date) [30, 100]. Во-первых, широко распространенные кри- тически важные системы оперативной обра- ботки транзакций (OLTP), управляемые ре- ляционными базами данных (RDBMS), были ориентированы на транзакционную обработку и не были сосредоточены на процессах приня- тия управленческих решений. RDBMS — опе- ративная обработка транзакций и хранение информации, где необходим быстрый доступ и обновление одиночных записей, оказались не эффективными при выполнении рабочих на- грузок бизнес-аналитики на больших наборах данных. Традиционные поставщики RDBMS переработали программное обеспечение баз данных OLTP-систем для поддержки рабочих нагрузок в OLAP-стиле. Хотя эти решения до- статочно хороши для OLTP, их очень сложно создать, управлять и настраивать с учетом бу- дущего роста хранилищ данных [92, 99]. Во-вторых, скорость загрузки данных в си- стему Business Intelligence/Data Warehousing (BI/ DW), иначе пропускная способность хранили- ща, не должна препятствовать бесперебойной работе инструментов BI. Скорость, с которой данные могут быть загружены в систему DW/ BI, важна для пользователей, которые стремят- ся перейти к анализу в режиме реального или близкого к нему времени, при существующей пакетной передаче данных в хранилище с не- большим окном загрузки. Поэтому, в зависи- мости от существующих операционных задач, большинство клиентов выбирают только одну область производительности: загрузка данных, запрос или работа (обработка транзакций). Традиционные хранилища данных являются относительно медленным производителем информации для бизнес-пользователей, кото- рым нужны полные аналитические решения для выполнения своей работы. Хранилища обычно обновляются периодически, чаще все- го еженощно. Таким образом, между бизнес- транзакцией и ее появлением в DW существует некоторая задержка. Свежие релевантные дан- ные попадают в операционные хранилища дан- ных, в то время как оно недоступно для анали- за бизнес-пользователей в реальном времени. Традиционный подход к хранилищу данных часто слишком медленный для быстрого при- нятия решений в организациях. Более того, традиционная модель DW может не включать в себя всю соответствующую информацию, до- ступную для бизнеса. Обусловлено это проблемами увеличения объема и типа данных, количества пользовате- лей и сложности анализа. Именно DW в первую очередь становится чувствительным к време- ни бизнес-практики, такой как операционная бизнес-аналитика (BI), часто обновляемые па- нели управления, выработка рекомендаций по электронной коммерции на лету и др. Бизнес- аналитики вынуждены уменьшать свои наборы данных в случае медленной загрузки данных. В конечном итоге эта ситуация приводит к менее чем оптимальному пониманию бизнеса, по- скольку в анализе отсутствуют все данные, до- ступные для бизнес-пользователей [92, 93, 95]. Преодолеть препятствия основных бизнес- требований DW/BI и обеспечить предсказуе- мую производительность и масштабируемость должны были решения, положенные в основу упомянутых выше разработок EMC. Greenplum DCA, как и подобные устройства других произ- водителей, относятся к подмножеству специа- лизированных решений, предназначенных для аналитической работы с большими мас- сивами данных. DCA — это интегрированная платформа аналитики, ускоряющая анализ 42 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев активов данных в рамках единого устройства с использованием базы данных GreenplumTM для оптимизации аналитики SQL на структуриро- ванных данных (представлена в окт. 2010 г.). В ее основе — БД Greenplum, разработанная для управления крупномасштабными храни- лищами данных и аналитическими рабочими нагрузками. Greenplum также придерживается концепции переноса аналитической обработ- ки значительно ближе к данным и параллель- ным вычислениям на архитектурных принци- пах MPP [90–94, 98]. Логическая архитектура БД Greenplum (GPDB) [91–93, 101] представляет собой мас- сив экземпляров (Instances) распределенной БД PostgreSQL, работающих совместно как одна СУБД, для представления единого образа БД. GPDB обеспечивает хранение и обработку данных, распределяя нагрузку на серверы или хосты (рис. 17). На каждой машине запущен экземпляр базы данных PostgreSQL, который модифицирован для поддержки параллельного выполнения запросов. Все узлы подключены через сеть Greenplum (GNet Interconnect) для фор- мирования единого экземпляра GPDB. Про- граммное обеспечение gNet Software Interconnect настроено и оптимизировано для масштаби- рования до десятков тысяч процессоров и ис- пользует отраслевые стандарты Gigabit Ethernet и 10 GigE. Двухпортовая коммутация 10 GigE Ethernet обеспечивает высокоскоростное, рас- ширяемое решение IP-взаимодействия в рам- ках GPDB. Каждый сервер сегмента (Segment Host) имеет выделенный набор хранилищ с прямым подключением для минимизации за- держки ввода-вывода от сервера к хранилищу. Главная база данных (Master Database) выпол- няется на основном сервере Master Host (ре- плицируется на резервный мастер-сервер) и является точкой входа в БД Greenplum для ко- нечных пользователей и инструментов BI. Вза- имодействие с БД Greenplum осуществляется посредством клиентских программ, таких как psql (pgSQL) или через интерфейсы прикладно- го программирования (API): JDBC или ODBC. Мастер-сервер координирует работу с други- ми экземплярами БД в системе, называемыми сегментами (Segment Instances). Master Host содержит глобальный систем- ный каталог (набор системных таблиц с мета- данными о данных GPDB), но не содержит никаких пользовательских данных. Данные хранятся только на серверах сегментов. Ма- стер обрабатывает входящие команды SQL за- просов, распределяет рабочие нагрузки между экземплярами сегмента, координирует резуль- таты, возвращаемые каждым сегментом, и предоставляет конечные результаты клиент- ской программе. Segment Host. Когда запрос отправляется на Master Host, он оптимизирован и разбит на более мелкие компоненты, которые отправ- ляются в сегменты для совместной работы по доставке конечных результатов. Сегментные серверы (сегменты хостов, рис. 17) запускают экземпляры базы данных — Segment Instances. Экземпляр сегмента — это комбинация про- цесса, памяти и содержимого базы данных на сервере сегментов (Segment Servers). На экзем- пляре сегмента содержится уникальный раз- дел всей БД. Большая часть обработки запро- сов происходит либо внутри сегмента, либо между экземплярами сегмента. Каждый сер- вер сегментов запускает несколько экземпля- ров сегмента — БД Greenplum обычно содержит от двух до восьми сегментов, в зависимости от количества ядер процессора, объема опе-Рис. 17 ISSN 0130-5395, УСиМ, 2019, № 2 43 Большие данные. Аналитические базы данных и хранилища: Greenplum ративной памяти, хранилища, сетевых интер- фейсов и рабочих нагрузок. Пользовательские таблицы и их индексы распределяются по до- ступным сегментам в системе GPDB. Каждый сегмент содержит свою часть данных. Таким образом, запросы параллельно обслуживаются в соответствующих экземплярах сегмента на каждом сервере сегментов. Пользователи вза- имодействуют с сегментами GPDB через Master Database. БД Greenplum и PostgreSQL. Основные различия Внутренние элементы PostgreSQL были моди- фицированы или дополнены для поддержки параллельной структуры БД Greenplum. Так, системный каталог, планировщик запросов, оптимизатор, исполнитель запросов и компо- ненты диспетчера транзакций были изменены и расширены, чтобы была возможность вы- полнять запросы одновременно во всех парал- лельных экземплярах базы данных PostgreSQL. Сетевой уровень соединения Greenplum обес- печивает связь между отдельными экземпля- рами PostgreSQL и позволяет системе вести себя как одна логическая база данных. БД Greenplum также содержит функции, предна- значенные для оптимизации рабочих нагрузок PostgreSQL для бизнес-аналитики (BI). Напри- мер, Greenplum добавил параллельную загрузку и полиморфное хранение данных любой табли- цы или раздела, управление ресурсами, декла- ративные разделы и подразделы для неявного создания ограничений раздела, оптимизацию запросов и улучшения хранилища, которые не найдены в стандартном PostgreSQL. Параллельная загрузка данных. В крупномас- штабном хранилище традиционно данные вы- нуждены загружаться в относительно неболь- шом окне обслуживания. Компания Greenplum производит высокопроизводительную парал- лельную загрузку посредством новой техно- логии потоковой передачи данных Scatter/ Gather Streaming (SG Streaming), используя ме- ханизм MPP-структуры. Подход к загрузке — параллельно-всюду (parallel-everywhere) реали- зуется путем рассеивания данных из исходных систем через параллельные потоки, одновре- менно поступающие ко всем узлам GPDB. Фи- нальный сбор и хранение данных на дисках происходит на узлах одновременно. Техноло- гия SG Streaming управляет потоком данных в узлах БД, устраняя традиционные узкие места массовой загрузки, и поддерживает непре- рывные модели загрузки в режиме реального времени с незначительным воздействием на одновременные операции с БД. Возможно пре- образование данных (ELT или ETL) во время загрузки. Это отличает SG Streaming от тради- ционных технологий массовой загрузки, чре- ватой появлением бутылочных горлышек, из-за приема данных из одного источника, часто по одному или небольшому числу параллельных каналов, что приводит к потерям времени и постоянно увеличивающимся нагрузкам. При этом устраняется необходимость в дополни- тельном уровне серверов, функционирующих только как загрузчики хранилища данных. При этом они добавляют значительную слож- ность и стоимость, но эффективно повышают пропускную способность [93–101]. Greenplum считает, на основе отзывов кли- ентов, что скорость загрузки данных с исполь- зованием этой технологии в реальных произ- водственных средах, достигает более четырех терабайт в час при незначительном воздей- ствии на одновременные операции с базой данных [101]. БД Greenplum поддерживает бы- струю параллельную загрузку данных [91–93, 96, 102] посредством функций «внешних таб- лиц» 3. Используя внешние таблицы (рис. 18) 3 Defining External Tables. Внешние таблицы (ВТ) позволяют получать доступ к внешним данным, как к обычной таблице базы данных. ВТ представляет собой таблицу БД Greenplum, в которой хранятся данные, находящиеся за пределами базы данных. Часто используются для перемещения данных в БД Greenplum и из нее. ВТ могут быть основаны на файлах или на веб-сайтах. Внешние веб-таблицы в Интернете обеспечивают доступ к динамическим источникам данных, обслуживаемым сервером HTTP или опера- ционным процессом, и позволяют БД Greenplum обрабатывать эти данные также как обычные таблицы БД — https://gpdb.docs.pivotal. А.А. Урсатьев 44 ISSN 0130-5395, Control systems and computers, 2019, № 2 в сочетании с параллельным файловым серве- ром БД Greenplum (gpfdist), достигают макси- мального параллелизма и высокой пропускной способности хранилища при оптимальном ис- пользовании всех сегментов. Полиморфное или гибридное хранение дан- ных (Polymorphic Data StorageTM). БД Greenplum может использовать оптимизированное для приложений хранилище, предоставляя гиб- кость выбора между хранением данных на основе колонок или строк в рамках одной и той же системы баз данных. По умолчанию в БД Greenplum используется модель хранения Heap, что и в PostgreSQL. Таблицы Heap лучше всего подходят, например, для небольших таб- лиц измерений, которые часто обновляются после их первоначальной загрузки. Для таблиц Heap доступна одна ориентация: строчная. Та- кая ориентация лучше всего отвечает рабочим нагрузкам типа OLTP, где требуется частая за- грузка данных. Ориентированные на колонки таблицы не оптимизированы для операций записи, так как значения столбцов для строки должны быть записаны в разные места диска. Колоночное хранилище, например, полезно для рабочих нагрузок хранилища с совокуп- ностью данных, рассчитанных на небольшое количество столбцов [103, 104]. Для массовой загрузки и чтения данных в БД Greenplum используется Append–опти- мизированный (AO, append-optimized или append-only) формат хранения, обеспечиваю- щий преимущества производительности в сравнении с таблицами Heap. Таблица append- only — это представление хранилища, которое допускает только добавление новых строк в таблицу, но исключает обновление или удале- ние существующих. Модель такого хранилища подходит для больших денормализованных таблиц фактов, которые загружаются с ис- пользованием пакетного процесса и доступны по запросам только для чтения. Перемещение больших таблиц фактов в модель хранения, оптимизированную для добавления, исключа- ет издержки на сохранность информации о ви- димости обновлений для каждой строки, эко- номя около 20 байтов на строку. Это позволяет использовать более компактное хранилище на диске, поскольку не требуется сохранять ин- формацию о транзакциях MVCC. Пространство хранилища, занимаемое строками, которые обновляются и удаляются в AO-таблицах, не восстанавливается и не ис- пользуется так же эффективно, как в append- only таблицах, поэтому модель AO-хранилища не подходит для часто обновляемых таблиц (Heap). Она в основном предназначена для таб- лиц, которые загружаются один раз, обновля- ются редко и часто запрашиваются для обра- ботки аналитических запросов [92, 103, 104]. Append-оптимизированное хранилище обес- печивает контрольные суммы для защиты дан- ных, сжатия и ориентации строк/столбцов. Обе таблицы, ориентированные на строки или столбцы, могут быть сжаты. В соответствии с принятой ориентацией данных в таблицах, разделов хранения, параметры выполнения и компрессии могут быть настроены. Возмож- но разделение таблиц на нескольких уровнях. Так, одну таблицу можно разделить на верти- кальные разделы, часть из которых будет хра- ниться в виде строк, а часть — как колоночные объекты. При этом для пользователя такая та- блица будет выглядеть одним объектом. Ори- ентированное на столбцы хранилище таблиц доступно только в AO-таблицах. Существует два типа компрессии данных в БД Greenplum для AO-таблиц: сжатие на уров- не строк применяется ко всей таблице; сжатие на уровне колонок — к определенным столб- цам. Можно применять различные доступные Рис. 18 ISSN 0130-5395, УСиМ, 2019, № 2 45 Большие данные. Аналитические базы данных и хранилища: Greenplum алгоритмы сжатия на уровне колонок для раз- ных столбцов в одной таблице. Эти настрой- ки не являются общесистемными, на одной платформе можно задать несколько стратегий [103, 104]. Журнал опережающей записи WAL (Write- Ahead Logging ) — это способ улучшения на- дежности БД и восстановления данных после сбоев. В БД Greenplum используется техноло- гия опережающей записи WAL для мастер- зеркалирования Master/Standby. В протоколе WAL все изменения записываются в конец файла журнала перед применением, т.е. только после их занесения в журнал, чтобы обеспе- чить целостность данных для любых операций внутри процесса. Все изменения записывают- ся последовательно и, как следствие, не силь- но замедляют процесс. Так, при отказе одного или нескольких сегментов они помечаются как сбойные и вместо них запускаются их зер- кальные сегменты, репликация данных для которых происходит с помощью используемой технологии опережающей записи. При импор- те больших файлов для аналитики, возможно отключиться WAL для отдельных таблиц и по- лучить более высокую производительность. Ведение журнала WAL еще недоступно для зер- калирования сегментов версии БД Greenplum 5.8 [96]. Управление параллелизмом в БД Greenplum. Ключом к достижению наилучшей произ- водительности есть равномерное распределе- ние данных и рабочих нагрузок по большому числу равнозначных сегментов, чтобы они сов- местно работали над задачей и выполняли ра- боту одновременно. PostgreSQL и БД Greenplum не используют блокировки для контроля па- раллелизма. Согласованность данных поддер- живается с использованием мультиверсионной модели контроля конкурентных транзакций MVCC (Multiversion Concurrency Control), кото- рая обеспечивает изоляцию транзакций для каждого сеанса БД. При запросах к БД каж- дая транзакция считывается из моментального снимка данных (версии), который не изменя- ется никакими параллельными транзакциями. Это гарантирует, что транзакция считает со- гласованные данные, на которые не влияют другие параллельные транзакции. Поскольку MVCC не использует явные бло- кировки для управления параллелизмом, конфликт блокировки минимизируется, а БД поддерживает разумную производительность в многопользовательских средах. Вместе с тем, БД Greenplum предоставляет несколько режимов блокировки для управления одно- временным доступом к данным в таблицах. Большинство команд автоматически получа- ют соответствующие блокировки, чтобы га- рантировать, что ссылочные таблицы не будут отброшены или изменены несовместимыми способами во время выполнения команды. Для приложений можно использовать команду LOCK для получения явных блокировок. Одна- ко использование MVCC обычно обеспечивает лучшую производительность [105]. Разграничение зон видимости данных и прав доступа в более поздних моделях обеспе- чивается благодаря ролевой модели доступа (Role Based Access Control, RBAC), позволяющей реализовать правила, динамически меняющи- еся в процессе функционирования платформы хранения и обработки данных. Так, например, можно создать схемы ограничения доступа к таблицам и другим объектам GPDB, а также к строкам и столбцам отдельных таблиц. GPORCA4 [106, 197] — оптимизатор запросов ORCA расширяет возможности планирования и оптимизации унаследованного GPQUERY. Он основан на модифицированной версии плани- ровщика запросов БД Postgres и предназначен для работы с базами данных MPP. Стратегия оптимизации запросов, нашедшая отраже- ние в 90-х годах ХХ ст. в разработках Volcano/ Cascades Optimizers [108–110], получила свое дальнейшее развитие в исследованиях и разра- ботках Greenplum/Pivotal. Побудительным мо- тивом этому послужил прогрессирующий рост Big Data и повышенный интерес к обработке сложных аналитических запросов. Volcano — общецелевой стоимостной оптимизатор запро- сов на основе затрат, созданный на правилах 4 GPORCA – это оптимизатор запросов PQO (Pivotal Query Optimizer) версии с открытым исходным кодом. А.А. Урсатьев 46 ISSN 0130-5395, Control systems and computers, 2019, № 2 эквивалентности (над) алгебрами, использует стратегию нисходящего или целевого поиска для нахождения самого дешевого, малозатрат- ного плана в пространстве возможных планов. Задействует эвристику для ограничения про- странства поиска выбранными планами, па- раллельного их выполнения и распределения ресурсов. Стоимость измеряется в дисковых вводах-выводах. Первый реализованный ме- ханизм выполнения запросов, эффективно со- четающий расширяемость и параллельность в вычислениях. Применяя стандартный ин- терфейс между операторами алгебр, Volcano позволяет легко добавлять новые операторы и правила эквивалентности, он расширяем алгоритмами и типами данных. Запросы БД Greenplum задействует модель процессора за- просов оптимизатора, который принимает план выполнения и употребляет его для гене- рации дерева физических операторов, оценки таблиц через физические операторы и предо- ставления результатов в ответ на запрос. Ге- нератор вырабатывает код на основе декла- ративных правил, логической и физической алгебры. Оптимизация проводится с исполь- зованием поиска по веткам и границам. Эф- фективная поисковая система Volcano, осно- вана на динамическом программировании и запоминании (кэшировании эквивалентных операторов) результатов выполнения функций для предотвращения повторных вычислений, что улучшает расширяемость оптимизатора. Основа оптимизации запросов Volcano/ Cascades [108, 109] базируется на системе пра- вил эквивалентности, в которой указано, что результат конкретного преобразования дерева запросов совпадает с результатом исходного де- рева запросов. Ключевым аспектом этой струк- туры является эффективная реализация подхо- да, созданного на правилах преобразования. Оптимизатор Cascades — объектно-ориенти- рованная реализация оптимизатора запросов Volcano. Pivotal ORCA — реализация автоном- ных каскадов, поддерживает многопоточный поиск. ORCA [110] — это современный оптимиза- тор запросов в стиле Volcano (top-down — оп- тимизация сверху вниз) на основе инфра- структуры оптимизации Cascades [109]. Он разработан специально для решения передо- вой аналитики, создания планов запросов, вы- полняющих сложные объединения при высо- кой производительности на больших массивах данных. Поступающий в ORCA запрос анали- зируется и передается мастеру БД Greenplum то, что он считает самым быстрым планом выполнения; при этом запрос объединяется с метаданными (например, статистика, опреде- ление таблиц, схемы и др.) и информацией о кластере базы данных для создания последова- тельности работ. ORCA может взаимодейство- вать5 с несколькими БД и легко поддерживать новые операторы баз данных. Способность работать за пределами системы баз данных как автономный оптимизатор допускает его ис- пользование для поддержки продуктов с раз- личными вычислительными архитектурами с использованием одного оптимизатора. Кроме того, основные методы оптимизации являют- ся составными, что позволяет добавлять новые операторы, трансформации, статистические/ стоимостные модели и другие методы. ORCA развертывает высокоэффективный многоя- дерный планировщик, который распределяет отдельные мелкооцененные подзадачи опти- мизации в нескольких ядрах для ускорения процесса оптимизации. Обеспечивает суще- ственное улучшение в сравнении с решения- ми предыдущей системы и во многих случаях предлагает ускорение запросов от 5(10)X до 1000X [110, 111]. GPORCA — с открытым исхо- дным кодом, построен как внешний плагин, и доступен под лицензией Apache вер.2.0. Вместе с тем, GPORCA не является полно- функциональным в сравнении с текущим пла- нировщиком в GPDB. Когда GPORCA встречает оператор, который не поддерживается в насто- ящий момент, он возвращается к унаследован- ному планировщику [106, 111]. 5 Взаимодействия оптимизатора и системы баз дан- ных – это обмен метаданными. Например, оптимиза- тору, возможно, необходимо знать, определены ли индексы на таблице, чтобы разработать эффективный план запроса. Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 47 Новые технологии обработки Apache Hadoop и HDFS или MapR-FS. Впервые ЕМС анонсировала свою программу развития аналитики Big Data в 2011 г. В частности, была представлена комплексная стратегия дистри- буции, интеграции и поддержки ПО с откры- тым исходным кодом Apache Hadoop. В резуль- тате слияния БД Greenplum с Hadoop появилась возможность в рамках одного хранилища об- рабатывать как структурированные, так и не- структурированные данные [112, 113]. Судя по технической документации на обо- рудование, Greenplum давно готовилась к раз- витию работ по расширению типов данных в аналитических исследованиях. Так, GPDB v. 3.2 выпуска 2008 г. представляет ряд новых функ- ций, улучшений производительности и ста- бильности, внутренних изменений в систем- ных каталогах. Одна из них — параллельные распределенные вычисления на MapReduce. Greenplum предоставила возможность програм- мистам, знакомым с парадигмой MapReduce, писать пользовательские функции map и reduce и отправлять их в механизм параллельного по- тока данных Greenplum для обработки. Система GPDB взяла заботу о распространении входных данных, выполнении программы на узлах клас- тера, возможных сбоях в работе и управлении требуемой связью между узлами. Для обработ- ки функций map и reduce, они должны быть определены в специально отформатирован- ном документе Greenplum MapReduce, который затем передавался в клиентскую программу Greenplum MapReduce (gpmapreduce) для выпол- нения в среде MPP БД Greenplum [114]. Hadoop в те годы быстро стал предпочти- тельным решением для аналитики Big Data при работе с неструктурированной информа- цией, но из-за нехватки навыков и большого бремени программного обеспечения посчита- ли Hadoop дорогостоящим и неприемлемым для промышленной реализации. Hadoop — это проект Apache Software Foundation, предостав- ляющий среду для хранения данных и плат- форму обработки с двумя основными компо- нентами: распределенной файловой системой HDFS для хранения и Hadoop MapReduce для программирования заданий параллельной об- работки и вычислений [115]. Такие компании, как Cloudera, Hortonworks и MapR предоставля- ют коммерческие услуги по поддержке инфра- структуры Hadoop, обеспечивающей закон- ченную функционально развитую платформу для аналитики и управления данными бла- годаря его интеграции с рядом других акту- альных проектов [116]. EMC и вошедшая в ее состав Greenplum, крупнейшие поставщики ре- шений для хранения и обработки данных, так- же продвигают свой собственный дистрибутив Hadoop. По-видимому, этим и объясняется присутствие в технической документации, на- пример, на GPDB v.4.3.6.1 раздела о совмести- мости реализаций Hadoop (табл. 1) от разных производителей [117]. Первый релиз (GPDB v.4.3) продукта содержал дистрибутив Hadoop Таблица 1. Совместимость реализаций Hadoop Hadoop Distribu- tion Version gp_hadoop_ target_version Pivotal HD Pivotal HD 3.0 Pivotal HD 2.0, 2.1 Pivotal HD 1.0 1 gphd-3.0 gphd-2.0 Greenplum HD Greenplum HD 1.2 Greenplum HD 1.1 gphd-1.2 gphd-1.1 (de- fault) Cloudera CDH 5.2, 5.3 CDH 5.0, 5.1 CDH 4.12 – CDH 4.7 cdh4.1 cdh4.1 cdh4.1 H o r t o n w o r k s Data Platform HDP 2.1, 2.2 hdp2 MapR3 MapR 4.x MapR 1.x, 2.x, 3.x gpmr-1.2 gpmr-1.0 Apache Hadoop 2.x hadoop2 Notes: 1. Pivotal HD 1.0 is a distribution of Hadoop 2.0 2. For CDH 4.1, only CDH4 with MRv1 is supported 3. MapR requires the MapR client 48 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев Pivotal HD, Greenplum НВ, Cloudera, Greenp- lum MR. Стратегия Hadoop от EMC была примерно такова: зная не понаслышке о недостатках те- кущей версии распределенной файловой си- стемы HDFS, EMC захотела создать уровень хранения, который улучшил бы HDFS с точки зрения производительности, доступности и простоты использования. Но EMC обратила внимание на качественный продукт компании MapR [118–120], не желая затрачивать свой ин- женерный опыт, время и усилия на улучшение HDFS. MapR Technologies выпустила большой набор инструментария для данных, основан- ный на Apache Hadoop, с собственной альтер- нативой хранилищу HDFS — систему MapR (MapR-FS), представляющую собой клас- терную файловую систему, обеспечивающую высокопроизводительное хранилище корпо- ративного уровня для больших данных. Про- граммное обеспечение имеет как коммерче- скую, так и бесплатную версию. Первое из них содержит репликацию, моментальные снимки и зеркалирование файлов данных, восстанов- ление мастера MapReduce (Job Tracker) [115] и коммерческую поддержку. Оно также содер- жит средство для перезапуска главного про- цесса JobTracker в течение нескольких секунд после сбоя и обеспечивает инициализацию подчиненных процессов TaskTrackers для пов- торного подключения. Возможная задержка в этом случае быть при выполнении заданий, но выполняемые работы будут продолжены и завершены, а не прерваны как в хранилище Apache Hadoop. В случае сбоя мастер-процесса, другая реплика прозрачно и немедленно берет на себя задачу обслуживания без прерывания процесса. MapR также поддерживает сжатие на уровне файловой системы и делает множе- ственные копии метаданных в кластере для обеспечения доступности. Он распространяет метаданные по узлам (не требует их хранения в ОЗУ), позволяя одному кластеру поддерживать их значительное количество. Это отличается от HDFS, сохраняющей все метаданные файлов в памяти одной машины — Name Node. EMC использовала технологию, разработан- ную компанией MapR, для платформы ана- литики Hadoop в продуктах Greenplum. По за- явлению MapR [118], технология, которую она разработала на вершине Hadoop, поддерживает моментальные снимки для защиты и восста- новления данных, исключает отдельные точки отказа и повышает производительность ба- зовой инфраструктуры Hadoop в два-пять раз в сравнении со стандартным дистрибутивом Apache Hadoop. Что касается компаний EMC и Cloudera, то они используют разные подходы к улучшению качества HDFS. Не привязывая себя к проекту Apache Hadoop, EMC может решать свои зада- чи, используя высокую доступность и произ- водительность, а также расширенные функции MapR, такие как зеркалирование и реплика- ция. Cloudera, являясь основным вкладчиком Apache Hadoop, будет включать изменения в архитектуру и функции HDFS, которые офи- циально примет Apache [120]. Дистрибутив Hadoop от EMC не содержит официальной вер- сии кода Apache, он основан на коде Hadoop от Facebook (sub req'd)6 , который был оптимизи- рован для масштабируемости и многосайтово- го развертывания [119]. Интеграция платформ Greenplum и Hadoop. Внешние таблицы в сочетании с програм- мой параллельного распределения файлов 6 Sub requirement — отдельные компоненты, состав- ляющие единое требование; конкретные детали того, что необходимо для выполнения этого требования (Source: tada.uic.edu.).Рис. 19 Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 49 Greenplum (gpfdist) обеспечивают параллелизм, используя ресурсы всех сегментов GPDB при загрузке или выгрузке данных. БД Greenplum также использует параллельную архитекту- ру Hadoop для эффективного чтения и записи файлов данных из таблиц распределенной фай- ловой системы HDFS посредством протокола gphdfs. Обмен данными между платформами Hadoop и Greenplum возможен посредством за- писываемых внешних таблиц (Writable External Table7), которые выводят данные в файлы. Когда БД Greenplum устанавливает связь с фай- лами HDFS, данные считываются параллельно с узлов HDFS в сегменты GPDB для обработки. БД Greenplum определяет соединения между сегментами и узлами. Внешняя таблица, рас- положенная на распределенной файловой си- стеме Hadoop, приведена на рис. 19. Разграниченный текст (ТЕXТ) — един- ственный формат, допустимый в GPDB v. 4.1 для чтения и записи внешних таблиц файлов HDFS [91], в старших версиях БД Greenplum до- полнительно реализованы пользовательские форматы (двоичные, Pig, Hive и т.д.) [121, 122]. Так, в GPDB v. 4.3.6.1 [123] реализовано соз- дание и поддержка внешних таблиц для фор- матов файлов Avro и Parquet в системе Hadoop (HDFS) с использованием протокола gphdfs для чтения и записи файлов. Файл Avro хранит схему как определение данных, так и данные вместе в одном файле, что облегчает динами- ческое понимание информации, хранящейся в нем, программам. Схема Avro находится в фор- мате JSON, данные — в двоичном формате, что делает его компактным и эффективным. Файл Parquet предназначен для использования сжа- того, эффективного представления колоноч- ных данных для проектов в экосистеме Hadoop. Он поддерживает сложные вложенные струк- туры данных и использует алгоритмы чередо- 7 Записываемые внешние таблицы, посредством кото- рых данные выводятся в файлы, используют прог- рамму параллельного файлового сервера Green- plum (spfdist) или интерфейс распределенной фай- ловой системы Hadoop (gphdfs). Загрузить и записать пользовательские данные без HDFS можно, вос- пользовавшись поддержкой БД Greenplum и форматами импорта и экспорта данных ТЕXТ и CSV. вания и сборки Dremel, применяемые Google при интерактивном анализе наборов данных десятков-сотен терабайт за считанные секун- ды на основе MapReduce [124, 125]. Parquet под- держивает очень эффективную компрессию и кодирование, позволяет использовать схемы сжатия для каждого столбца и поддерживает добавление большего количества кодировок по мере их создания и реализации. Одной из особенностей версии БД Greenplum 4.2 является использование файловой си- стемы Hadoop (HDFS) для создания внешних таблиц, что позволяет избежать значительных затрат времени загрузки данных [91, 126]. В БД включена возможность предоставления привилегий для протокола gphdfs владельцу внешних таблиц [121 с.85], необходимых для их создания, которые обращаются к файлам на HDFS. Кроме того, предоставлен программ- ный соединитель Hadoop Connector, обеспе- чивающий высокопроизводительный парал- лельный импорт и экспорт сжатых и несжатых данных из кластеров Hadoop. Чтобы дополни- тельно оптимизировать потребление ресурсов во время загрузки, данные, пользовательского формата в Hadoop, теперь могут быть преоб- разованы в формат GPDB с использованием MapReduce, а затем импортированы в нее. Это обеспечивает значительно более эффектив- ный и гибкий обмен данными между Hadoop и БД Greenplum [127]. Последняя, по заявлению разработчика, поддерживает параллельную обработку SQL и MapReduce при объемах дан- ных, варьируемых от сотен гигабайт, от десят- Рис. 20 50 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев ков до сотен терабайт, до нескольких петабайт. Рис. 20 иллюстрирует процесс передачи фай- лов данных с кластера Hadoop в БД Greenplum по инициированному ею запросе (1) на чтение. Запрос (1) поступает на NameNode (Hadoop), который управляет доступом к запрошенным файловым блокам данных. NameNode отправ- ляет (2) инструкции DataNode для предостав- ления блоков файлов в БД Greenplum. Вместе с тем, нельзя не согласиться с мне- нием [128], что в настоящее время большин- ство аналитических баз данных и приборов интегрируются с Hadoop, но по-прежнему стра- дают от задержки отправки данных по сети из кластеров Hadoop в базу данных и обратно. Доработка Greenplum параллельного интер- фейса произведена в новом релизе [129] — это платформа расширения БД Greenplum (PXF) — фреймворк, позволяющий обмениваться дан- ными со сторонними гетерогенными систе- мами. Взаимодействие PXF с HDFS поясняет- ся рис. 21. На нем БД Greenplum представлена главным сервером (Master Host) и несколькими серверами сегментов (Segment Host). Фрейм- ворк PXF состоит из протокола БД Greenplum, клиентской библиотеки C, отвечающей ин- тегрируемым хранилищам данных, и службы Java. Написанное расширение на Java пред- ставляет собой отдельный процесс JVM PXF на каждом segment host кластера Greenplum. Этот длительный процесс, одновременно обслужи- вающий множество очередей запросов и на- зываемым агентом PXF, порождает поток для каждого сегмента — экземпляра базы данных (segment instance) на segment host. PXF, с одной стороны, обменивается данными параллельно с segment instances через REST API, с другой — агенты PXF на segment hosts параллельно взаи- модействуют с платформой HDFS. Имеется поддержка основных сервисов сте- ка Hadoop и параллельная выгрузка данных из сторонних СУБД через JDBC. Расширение PXF предоставляет коннекторы для хранилищ дан- ных Hadoop, Hive и HBase, которые определяют профили, поддерживающие форматы: Binary и ТЕXТ, Avro, JSON, RCFile, Parquet, SequenceFile и ORC. PXF-коннекторы включают клиенты используемых хранилищ данных на каждом segment host БД Greenplum [130]. Расширение PXF реализует протокол с име- нем pxf, используемый для создания внешней таблицы, которая ссылается на данные в инте- грируемом хранилище. После того, как расши- рение PXF зарегистрировано в базах данных, с которыми планируется использовать фрейм- ворк для доступа к внешним данным, назна- чены привилегии для протокола pxf тем поль- зователям/ролям, которым требуется доступ, используется команда для создания внешней таблицы. При выполнении (пользователем или приложением) запроса на данные в HDFS, Master Host отправляет его всем серверам сег- ментов. Каждый segment instance связывается с агентом PXF, запущенным на его segment host, и когда агент PXF получает запрос от segment instance, он вызывает API Java HDFS для полу- чения информации метаданных из NameNode для файла HDFS и предоставляет ее в экзем- пляр сегмента. Экземпляр сегмента использу- ет свою базу данных gp_segment_id Greenplum и информацию File Block8, содержащуюся в ме- 8 FCB (File Control Block) — это внутренняя структура файловой системы, используемая в DOS для доступа к файлам на диске. Блок FCB содержит информацию о имени диска, имени и типе файла и другой информации, которая требуется системе при доступе или создании файла — https://www.webopedia.com/ TERM/F/File_Control_Block_FCB.html. В Hadoop при помещении файла на HDFS, он разбивается на блоки, Рис. 21 Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 51 таданных, для присвоения запросу определен- ной части данных. Затем экземпляр сегмента информирует агента PXF о необходимости чте- ния отобранных данных, которые могут быть на одном или нескольких HDFS DataNodes. Агент PXF вызывает API HDFS Java для чтения данных и доставки их на segment instance. Расширение PXF более значимо для интег- рации, в сравнении с предыдущими решения- ми, так как исключает сетевой компонент при обмене, имеет большую гибкость и возмож- ность подключать сторонние системы, написав свой коннектор. В [131] приведены соображе- ния о возможности интеграции БД Greenplum со сторонними СУБД через JDBC. Отличия ПО интегрированных систем EMC Greenplum HD Enterprise и Community с Hadoop Предприятия предъявляют чрезвычайно вы- сокие требования к системам обработки, ког- да дело доходит до производственных данных. Две эти наработки в части реорганизации Hadoop для обеспечения высокой надежности и устойчивости в случае отказов его отдельных точек (Name Node и Job Tracker), доступности и разработки приемлемого механизма обмена данными между платформами в виде внеш- них таблиц, подобно симбиозу партнеров по- зволили достичь функциональности хранения и обработки данных в решениях Community и Enterprise. Отличие этих двух модификаций систем состоит в том, что EMC Greenplum HD Community Edition использует бесплатную, с открытым исходным кодом, версию распреде- ленной файловой системы MapR-FS M3 Edition, основанную на ветке кода Apache Hadoop 0.20.1. — оптимизированной версии Facebook размещаемые на DataNodes — последние хранят блоки, а не файлы. Метаданные находятся на Name Node, они содержат файл в Block mapping, запоминают расположение блоков в DataNodes, активные узлы и др. метаданные. Все они хранятся в памяти NameNode — https://www.quora.com/What-does-the-term-metadata- mean-in-Hadoop Hadoop. Community Edition (CE) полностью сер- тифицирована на совместимость с open source и поддерживает стек Apache Hadoop, состоящий из распределенной файловой системы HDFS, MapReduce, HBase, Zookeeper и Hive, а также обеспечивает отказоустойчивость для Name Node9 в HDFS и мастера Job Tracker в Hadoop MapReduce. Этим обеспечивается высокая до- ступность кластера, позволяющая предотвра- тить потерянные задания, устранить переза- грузки и болезненные инциденты при сбоях. В свободно распространяемое ПО EMC Greenplum CE10 входят: Greenplum Database CE — ведущий в отрас- ли продукт с MPP обработкой для крупно- масштабной аналитики и хранилищ данных следующего поколения; MADlib — библиотека аналитических алго- ритмов с открытым исходным кодом, обеспе- чивающая параллельные реализации матема- тических, статистических и машинных методов обучения для структурированных и неструкту- рированных данных; Alpine Miner11 представляет собой интуитив- но понятный инструментарий для интеллек- туального анализа данных, обеспечивающий быстрое моделирование для оценки, использу- ет аналитику и специально предназначен для приложений с Big Data. Базы данных Greenplum и Greenplum HD явля- ются дополняющими технологиями, которые в совокупности предоставляют решение для анализа структурированных и неструктуриро- ванных данных. При совместном использо- вании аналитики могут выполнять сложные интерактивные исследования, используя воз- 9 До Hadoop v2.0.0 Name Node было единой точкой отказа (SPOF, Single Point Of Failure) в кластере HDFS. С Zookeeper функция высокой доступности HDFS решает эту проблему, предоставляя возможность запуска двух избыточных Name Node в одном кластере в конфигурации Active/Passive с горячим резервом — https://hadoopecosystemtable.github.io/ 10 EMC Greenplum Introduces Free Community Edition of ""Big Data"" Tools for Developers and Data Scientists – https://www.emc. com/about/news/press/2011/20110201-02.htm 11 Alpine Miner Visual Modeler — инструмент анализа независимого разработчика. 52 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев можности Greenplum SQL и расширенные ана- литические функции по данным в Hadoop и/ или в БД Greenplum. Доступ к данным и их пе- ремещение между платформами упрощаются с помощью внешних таблиц, чтобы обеспечить быстрый и простой параллельный обмен дан- ными. EMC Greenplum HD Enterprise Edition — из- вестна также как Greenplum MR — интегрирует дистрибутив MapR M5 Hadoop (обновленная версии M3 с высокой доступностью и функ- циями защиты данных), заменяя HDFS на соб- ственную файловую систему MapR-FS [134]. Архитектура системы хранения, используемая MapR-FS, написана на C/C ++ и устраняет кон- куренцию (lock contention), исключая влияние сборки мусора Java на производительность, что свойственно Apache Hadoop. MapR-FS представляет собой распределенную файловую систему произвольного чтения и записи, по- зволяющую приложениям одновременно счи- тывать и записывать данные непосредственно в кластер. Напротив, распределенная файло- вая система Hadoop (HDFS) предназначена для записи только с добавлением12 (append-only) и чтения только из закрытых файлов. Протокол сетевой файловой системы (Network File System, NFS) [135] обеспечивает приложениям прямой доступ непосредственно к кластеру, позволяя передавать потоки данных в режиме реального времени. Стандартные приложения и инструменты напрямую обра- щаются к слою хранения MapR-FS с исполь- зованием протокола NFS. Устаревшие системы получают доступ к данным, а традиционные операции ввода-вывода файлов работают в обычной файловой системе UNIX. Удаленный клиент может монтировать кластер MapR для перемещения данных в кластер и из него. Реализация MapR Direct Access NFS™. На каж- дом узле кластера MapR есть сервис FileServer, роль которого во многом сходна с Data Node в файловой системе Hadoop HDFS. Кроме того, в кластере может быть одна или несколько служб NFS Gateway13. Во многих развертываниях сер- вис работает на каждом узле кластера, наряду с FileServer. Запуск нескольких серверов NFS Gateway обеспечивают устойчивость к отказу. Виртуальный IP-адрес (VIP) доступа к NFS автоматически переносится в случае сбоя от одного сервиса NFS Gateway к другому, так что клиенты, подключившиеся к кластеру через IP, могут продолжить чтение и запись данных практически без задержек. В типичном раз- вертывании для равномерного распределения клиентов между различными серверами шлю- за NFS (т.е. VIP) используется простая система балансировки нагрузки, такая как цикличе- ский DNS. В кластере MapR служба шлюза NFS 12 Когда проект Apache Hadoop создавался, он дол- жен был использоваться для веб-сканирования и индексирования Интернета. Это требовало не более чем парадигмы с однократной записью (или только с добавлением — or append-only), которая легла в основу реализации HDFS. Веб-сканирование — чрезвычайно ограниченный случай среди всех применений, которые действуют сегодня для Apache Hadoop [Get Real with Ha- doop: Read-Write File System – https://mapr.com/blog/get- real-hadoop-read-write-file-system/]. 13 MapR Direct Access NFS — https://mapr.com/resourc- es/mapr-direct-access-nfs/ Рис. 22 Рис. 23 Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 53 получает запросы от клиента и преобразует их в запросы RPC14 к соответствующим службам FileServer. Взаимодействие с кластером MapR по протоколу NFS показано на рис. 22. Поддержка случайных чтений и записи не- обходима для обеспечения прямого доступа NFS и, в более общем случае, к любому виду доступа для отличных от Hadoop приложений. Помимо прямого доступа, предоставляемо- го NFS, есть некоторые другие особенности MapR-FS. Кластер доступен как каталог в ло- кальной файловой системе и приложения на клиентском узле работают по протоколу NFS с данными файловой системы MapR таким же образом, как при доступе к ним на локаль- ном диске, используя его в режиме реального времени. Предоставляет также специальные функции для управления данными и высокой доступности (HA), такие как логические тома – способ группировки данных и применения политики во всем наборе данных, использую- щиеся для распространения метаданных в клас-тере и для резервного копирования дан- ных; контейнеры – абстрактный объект, хра- нящий файлы и каталоги в MapR-FS, напри- мер, может содержать информацию о про- странстве имен, фрагментах файлов или части таблицы для тома, к которому принадлежит контейнер; предоставляет услуги отслеживания местоположения каждого контейнера и др. MapR [136] — это полный дистрибутив кор- поративного класса для Apache Hadoop. Плат- форма конвертируемых данных (Converged Data Platform) MapR предоставляет единое решение для структурированных (таблиц) и неструктурированных данных (файлов), раз- работана для повышения надежности, про- изводительности и простоты использования Hadoop. В дистрибутиве MapR представлен полный стек Hadoop, включающий файловую систему MapR-FS, систему управления база- ми данных MapR-DB NoSQL, потоки MapR и семейство проектов Hadoop. Высокоуровне- вое представление платформы конвергентных данных MapR, ее основные компоненты и под- 14 Remote Procedure Call (RPC) – удаленный вызов про- цедур (RPC). держиваемые экосистемные проекты, а также средства взаимодействия с ними приведены на рис. 23. Взаимодействие с Apache Hadoop, HDFS и MapReduce происходит посредством API MapR. Архитектура Hadoop 2.x и YARN под- держивается MapR [115]. MapR предоставляет несколько уникальных функций, которые затрагивают общие про- блемы с Apache Hadoop [136]: защита данных (MapR Snapshots) — поддер- живает согласованные моментальные снимки для файлов и таблиц, зеркалирование и репли- кацию, в том числе и удаленную, для полного восстановления данных; аварийное восстановление (Disaster Reco- very) — MapR обеспечивает бесперебойную ра- боту кластера и службы аварийного восстанов- ления с помощью настраиваемого зеркалиро- вания, эффективно использующего ресурсы хранилища, процессора и пропускную способ- ность кластера; масштабируемая архитектура без единой точки отказа (SPOF) — платформа конвер- гентных данных MapR обеспечивает высокую доступность для стека компонентов Hadoop. Кластеры MapR, в отличие от других дистрибу- тивов Hadoop, не используют Name Node, при- водящего к сбоям кластера, и обеспечивают сохранение доаварийного состояния для Job Tracker в Hadoop MapReduce и механизма пря- мого доступа к кластеру MapR по протоколу NFS без какой-либо специальной настройки. В Apache Hadoop, с предоставлением возмож- ности запуска двух избыточных Name Node (HA) в одном кластере, Name Node HA обеспе- чивает переход на другой ресурс, но без отка- та, ограничивая численность узлов и создавая сложные проблемы с конфигурацией. Высо- кая доступность JobTracker в Apache Hadoop не сохраняет состояние рабочих заданий. Отказо- устойчивость для JobTracker связана с переза- пуском всех незавершенных заданий и услож- няет конфигурацию фреймворка; производительность — MapR использует индивидуальные модули ввода-вывода, ком- мутации, повторной синхронизации и адми- нистрирования. Эти архитектурные элементы 54 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев позволяют кластерам MapR работать со скоро- стями, близкими к максимально допустимыми базовым оборудованием. Кроме того, техноло- гия DirectShuffle, построенная MapR на основе ряда улучшений привнесенных в структуру MapReduce, использует преимущества MapR- FS для обеспечения высокой производитель- ности и управляемости кластера, а механизм прямого доступа к кластеру по протоколу NFS упрощает прием и доступ к данным [136]. Высокая производительность и надежность выполнения задач MapReduce (Vers.1) дости- гается технологией DirectShuffle [137, 138]. В выпусках Apache Hadoop до версии 1.55.X [138] процесс [139–141], посредством которого про- межуточные выводы обработки сегментов дан- ных от mappers (MOF, MapOutputFile) перено- сятся на reducers, называется перетасовкой (shuffling). MOFs по завершению задачи Map сохраняются на локальных дисках. При этом выполняется их сортировка (sorting), необхо- димая для каждой отдельной задачи Reduce, и передача сегмента MOF в reducer в качестве входного сигнала. В свою очередь, фаза сор- тировки в MapReduce охватывает и слияние (merger). Промежуточные результаты, пред- ставляющие собой записи данных в виде пар ключ-значение (key-value), разделяются меж- ду reducers и сортируются автоматически по ключу. Каждый reducer получает все значения (value), связанные с одним и тем же ключом, т.е. в процессе сортировки MOFs также проис- ходит их объединение в порядке соответствия ключей в записях данных. Фазы shuffle и sort в Hadoop происходят одновременно и выполня- ются MapReduce Framework. Результат задачи Reduce сохраняется в файловой системе HDFS (рис. 24 и 25). Перетасовка и сортировка в Hadoop MapRedu- ce вообще не выполняются, если указываются нулевые (zero) reducers (setNumReduceTasks (0). Главный процесс JobTracker координирует задания в кластере (рис. 25) и назначает про- цессы TaskTracker на узлы для координации выполнения задач. В каждом TaskTracker при- сутствует встроенный HttpServer, который соз- дает множественные HttpServlets для каждого запроса reducer на получение результатов обра- ботки сегментов данных от mappers. MOFCopier используется для сбора этих результатов, пред- назначенных задачам Reducers. Промежуточ- ные результаты считываются с Local Disks и транспортируются HttpServlets к MOFCopier посредством HTTP запросов. Модель сетевого взаимодействия, используемая для пересылки данных в Apache Hadoop, приведена на рисун- ке 26. Используемые стандартные средства языка Java для работы с HTTP запросами и со- кетами являются узким местом в работе всей системы, поскольку использование Java Virtual Machine для доступа и перемещения данных при помощи потоков FileInputStream работает гораздо медленнее, чем реализации, например, на языке С [142]. Архитектура системы хране- ния файловой системы MapR-FS написана на С/С++ и вместо HTTP использует соединения удаленного вызова процедур RPC. Рис.24 Рис.25 Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 55 Кроме того, в фазе Shuffle перетасовки про- межуточных результатов задачи MapReduce возникает проблема роста сетевой нагрузки в Hadoop из-за большого объема сетевого об- мена. Перетасовка данных в пяти процентах больших заданий может потреблять более 100 процентов пропускной способности сети кла- стера, и, что еще хуже, производительность Hadoop с увеличением среднего размера дан- ных, растет нелинейно [142]. Чрезмерная на- грузка на пропускную способность сети может быстро насытить сетевые связи тех машин, которые участвуют в фазе reduce [143]. Перета- совка данных в фазе Shuffle, по существу, ста- новится доминирующим источником сетевого трафика и узким местом в производительности в Hadoop. MapR обеспечивает повышение производи- тельности в фазе перетасовки MapReduce. Эта фаза включает в себя изготовление многих ко- пий и значительное число координаций между узлами в кластере, что приводит к чрезмерно- му росту сетевой нагрузки в Hadoop. Другое, поскольку HDFS находится поверх файловой системы Linux, большое число операций вво- да/вывода (I/O) снижает производительность клстера. Кроме того, вывод результатов mappers на локальные диски создает конкуренцию за дисковое пространство между локальными и распределенным хранилищем. MapR, вместо записи промежуточных дан- ных на локальные диски, контролируемые опе- рационной системой, обращается непосред- ственно к томам MapR-FS на локальных узлах. Это повышает производительность Hadoop и снижает спрос на локальное дисковое про- странство. В MapR любые закачанные (spilled) данные хранятся в MapR-FS, что делает их до- ступными напрямую. Прямое перемещение использует базовый уровень хранения и его возможности (MapR-FS написана на С/С++ и содержит протокол NFS). Перетасовка в MapR-FS намного быстрее, потому что MapR использует высоко оптимизированные эффек- тивные соединения удаленного вызова про- цедур (RPC) для передачи данных непосред- ственно из любой точки сети [134, 135, 137]. Возможно использование нескольких сетевых адаптеров посредством соединения на уровне RPC процедур. Для сравнения, операция пере- тасовки в других дистрибутивах Hadoop может использовать только один сетевой адаптер (те- оретически, можно применить транкирование портов, но прирост производительности будет минимальным в сравнении с балансировкой нагрузки на уровне RPC в MapR) [137, 138]. Особенности реализации Direct Shuffle на MapR 6.0 Platform с YARN приведены в [144]. Подход MapR к Direct Shuffle привел к ускорен- ному от двух до пяти раз выполнению заданий MapReduce [118, 138]. Производительность Greenplum HD EE в сравнении со стандартной версией Apache Hadoop, по оценкам EMC, также улучшена на эту величину [145]. Слияние тех- нологий EMC Greenplum DB и предварительно интегрированного, проверенного и упрочен- ного дистрибутива MapR Technologies для стека Apache Hadoop, осуществляет совместную об- работку разных типов данных в едином, бес- шовном решении. Greenplum HD EE полностью совместима с Apache Hadoop Interface, так как дистрибутив MapR Hadoop позволяют напря- мую обмениваться данными через протокол Рис. 26 56 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев NFS прямого доступа. Hadoop в этом комби- нированном решении рассматривается как ключевая платформа обработки данных в до- полнение к существующим инфраструктурам, и реализует в отрасли законченную платформу для аналитики больших данных [145, 146]. Сюда же входит EMC Greenplum HD Data Computing Appliance (DCA) — специализированный вы- числительный комплекс, включающий EMC Greenplum HD Enterprise Edition и весь набор не- обходимых стандартных аппаратных средств. Основное отличие DCA — динамичность, при которой в режиме, близком к реальному време- ни, анализируются данные разных типов, в том числе и внешних, источников [113]. Обновленное решение (сопоставьте реше- ние15 о роли MapReduce) для анализа массивов больших и, как правило, неструктурированных 15 Речь о MapReduce, которая была принята как метод высокопроизводительного анализа данных лидерами Интернета, такими как Google и Yahoo. MapReduce позволила программистам запускать аналитику с петабайтными наборами данных, которые хранятся как в БД Greenplum, так и за ее пределами. Greenplum MapReduce приносит преимущества надежности и известности реляционной базы данных набирающей силу модели программирования [92]. данных, привносит интегрированная среда Apache Hadoop MapR Technologies, включающая файловую систему MapR-FS, MapReduce, Hive, Pig, HBase [115], ZooKeeper и MapR Heatmap. Zookeeper — это система для координации рас- пределенных процессов. MapR Heatmap поло- жена в основу Control System Greenplum HD EE, обеспечивает статус оборудования и управле- ние с помощью комплексного пользователь- ского интерфейса (user interface, UI), включаю- щего в себя тепловую карту (Heatmap), которая отображает жизнеспособность кластера при работе. Графические и программные интер- фейсы предназначены для масштабирования кластера. Интеграция системы NAS EMC Isilon с Hadoop. Еще одно, подобно представленному выше, предложение интеграции горизонталь- но масштабируемой системы NAS EMC Isilon с распределенной файловой системой Hadoop. NAS (Network Attached Storage) — сетевая си- стема хранения данных на уровне файлов, вы- полненная на специализированном серверном оборудовании и упрощенной операционной системе. Объединение EMC Greenplum HD DCA CE [147–149] и NAS Isilon в одном решении по- зволило рассматривать его как высокоэффек- тивную и гибкую экосистему хранения и ана- лиза больших данных. EMC включила распределенную файловую систему Hadoop (HDFS) в качестве встроен- ного протокола, поддерживаемого операци- онной системой OneFS® Isilon, в дополнение к поддержке сетевой файловой системы (NFS) — единой файловой системы Интернета (Common Internet File System, CIFS). Это позволило Isilon предоставлять базовый уровень хранения, а также общий пул хранения для Hadoop и дру- гих систем. В реализации Hadoop на кластере Isilon Date Storage (рис. 27) масштабируемой платформы NAS, OneFS по функционально- сти соответствует HDFS, т.е. служит файло- вой системой для Hadoop. Файловая система HDFS в Isilon поддерживается как протокол, используемый вычислительными ресурсами Hadoop (Hadoop Compute Resources) для доступа к данным на уровне хранения HDFS. Клиенты Таблица 2. HAWQ: «драгоценности короны» Greenplum Высокопроизводительная обработка запросов с Queru Optimizer – масштабируемость диапазона петабайт, – интерактивная и подлинная поддержка ANSI SQL, – программируемая аналитика Услуги корпоративного класса базы данных Enterprise-Class – колоночное хранение данных и индекси- рование, – управление рабочей нагрузкой Комплексное управление данными – загрузка посредством технологии потоковой передачи данных SG Streaming, – многоуровневое партиционирование, – инструменты сторонних разработчиков и oткрытые клиентские интерфейсы ISSN 0130-5395, УСиМ, 2019, № 2 57 Большие данные. Аналитические базы данных и хранилища: Greenplum Hadoop могут обращаться к данным, хранимым в кластере Isilon, подключаясь к его узлам по протоколу HDFS [150]. Реализация Hadoop на хранилище Isilon Date Storage с ОС OneFS имеет отличия. Все узлы кластера Isilon содержат NameNode и DataNode, что исключает маршрутизацию од- ним NameNode. OneFS, позволяя всем узлам кластера хранения данных Isilon стать, по сути, NameNodes, устраняет риск последствий для него единой точки отказа Hadoop. Это значи- тельно повышает отказоустойчивость среды Hadoop. Framework Hadoop MapReduce и его компоненты не устанавливаются. Клиенты Hadoop Compute Resources могут подключаться к тем узлам кластера Isilon, которые функцио- нируют как NameNode (см. рис. 27). Функциональность уровня хранения вы- полняется OneFS на кластере Isilon. Уровень хранения в OneFS реализован в качестве встро- енного нативного HDFS-протокола облегчен- ного (lightweight) уровня, используемого между кластерами Hadoop Compute Resources и Isilon. Клиенты вычислительного кластера Hadoop, используя HDFS как протокол передачи дан- ных, подключаются к хранилищу Isilon. В до- полнение к HDFS клиенты вычислительного кластера Hadoop могут подключаться к класте- ру Isilon по любому стандартному протоколу, поддерживаемому OneFS, например CIFS, FTP, HTTP, NFS, SMB. Isilon OneFS — нестандарт- ная реализация HDFS, которая позволяет ис- пользовать multi-protocol доступа. Isilon предо- ставляет альтернативную систему хранения для HDFS, поддерживая службы HDFS с функ- циями управления данными корпоративного уровня [150]. Последние наработки (Greenplum MR, EMC Greenplum HD DCA CE и NAS Isilon, Greenplum Chorus) послужили дальнейшему развитию платформы DCA — EMC® Greenplum® DCA Unified Analytics Platform (UAP) Edition, позволяющей совместно анализировать структурированные и неструктурированные данные в одном ин- тегрированном устройстве. Унифицированная аналитическая платформа, анонсированная в конце 2011 г., соединила в себе три решения для поддержки аналитики больших данных: Greenplum DB (структурированные данные); Greenplum HD (неструктурированные данные); Greenplum Chorus — единая совместная плат- форма исследования данных (Data Science). Основная цель создания UAP — максимальная интеграция результатов аналитики больших данных с бизнес-процессами. Потребители могут воспользоваться новым DCA для повы- шения производительности БД Greenplum для лучшей в своем классе обработки SQL и за- грузки данных, а также использовать иннова- ционные возможности распределения Hadoop Greenplum (GPHD). Совместимость анализа структурированных данных достигается встро- енной поддержкой компонентов экосистемы Hadoop: Hive, HBase, Pig и Mahout. Корпорация EMC улучшила свое решение DCA16 путем его редизайна оптимизирован- ными для аналитики масштабируемыми си- стемами, используемыми для статистического анализа, интеллектуального моделирования и машинного обучения. DCA UAP интегрирует масштабируемое NAS-хранилище EMC Isilon со встроенной поддержкой системы HDFS и, в силу архитектурных особенностей, обеспе- чивает высокоскоростной прием данных, на- дежную и эффективную их защиту с функцией создания моментальных снимков файловой системы, зеркалирования, резервного копи- рования, восстановления, реплицирования и автоматической балансировки. Гарантируется 16 EMC Announces Enhanced Greenplum Big Data Ana- lytics Appliance — https://www.emc.com/about/news/ press/2013/ 20130130-02.htm Рис. 27 58 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев безопасность и целостность данных в течение всего жизненного цикла: от их создания до за- писи в архив. Интеграция DCA с системами хранения данных, использующих технологию дедупликации EMC Data Domain, обеспечивает резервное копирование и восстановление для модулей БД Greenplum с услугами широкомас- штабной репликации для расширенного ава- рийного восстановления. Самообслуживание данными (self-service data), включая расширенную поддержку парт- неров, таких как SAS и Informatica [154], и ин- терфейсы для специалистов в области анали- тики, — предоставляет возможность пользова- телям обнаруживать и использовать любые дан- ные предприятия в целях улучшения бизнеса. Проект EMC Pivotal Greenplum HAWQ. Apache HAWQ (произносится как hawk) — базовый SQL Apache Hadoop [155]. Проект HAWQ, уро- вень базы данных SQL, расположенный поверх распределенной файловой системы Hadoop (HDFS), – часть нового пакета Hadoop, кото- рый EMC называет Pivotal Hadoop Distribution или кратко Pivotal HD [156]. Примерно такое же определение HAWQ от Quora [157] — это порт базы данных MPP Greenplum, с планировщи- ком и PQO (Pivotal Query Optimizer) — оптими- затором запросов для больших данных, теперь использующей HDFS для своего уровня хране- ния. Тем самым подчеркивается, вклад компа- нии Greenplum в проект HAWQ: это наилучшие из достижений коллектива Greenplum (табл. 2), опирающееся на десять лет основополагаю- щих исследований и разработок, приведших к созданию масштабируемой параллельной реляционной БД Greenplum и сделавшее ее претендентом на альтернативу Teradata, IBM, Oracle и других баз данных. То, что адаптация БД для HDFS выполнялась в течение более двух лет крупнейшей командой разработчиков Hadoop на планете (свыше 300 человек), дает основание утверждать: "was all-in on Hadoop"— все включено в Hadoop. Эти работы проводи- лись, потому что компания полагала: Hadoop станет основой новой «текстуры, ткани дан- ных» — data fabric17 [156]. Термин enterprise data 17 Data Fabric: Data Transport — это видение будущего fabric (EDF) обозначает высокопроизводитель- ный интерфейс (коммутирующая текстура или матрица) между системами хранения данных и использующими их приложениями. HAWQ считывает данные и записывает дан- ные в HDFS изначально. HAWQ — это соб- ственный механизм запросов SQL Hadoop, который сочетает в себе ключевые технологи- ческие преимущества базы данных MPP с мас- штабируемостью и удобством Hadoop. HAWQ предоставляет пользователям полный SQL- интерфейс, совместимый со стандартами: SQL-92, SQL-99, SQL-2003 и др., расширением OLAP. Чрезвычайно высокая производитель- ность – во много раз быстрее, чем другие из- вестные механизмы Hadoop SQL. В сравнении с пакетно-ориентированными запросами, за- пущенными на кластере Hadoop, комбинация HDFS и HAWQ показывает всюду улучшения производительности от 10X до 600X, соглас- но EMC. Именно это превращает пакетную систему в интерактивную (недостижимое для мейнфреймов еще в 60-х и 70-х годах ХХ ст.) — необходимое условие того, чтобы Hadoop стал частью инструментария ИТ [156]. Высокоуровневое архитектурное представ- ление HAWQ приведено на рис. 28 [158]. В ти- пичном развертывании каждый подчиненный узел имеет один физический сегмент HAWQ, установленный узел данных DataNode HDFS и NodeManager. Мастера для HAWQ, HDFS и YARN размещаются на отдельных узлах. В HAWQ сегменты — это единицы, которые обрабаты- вают данные одновременно. На каждом хосте есть только один физический сегмент. Каждый сегмент может запустить много исполнителей запросов (QE) для каждого фрагмента запроса. Это заставляет один сегмент действовать как несколько виртуальных сегментов, что позво- ляет HAWQ лучше использовать все доступные управления данными, архитектура для гибридного облака. Речь идёт не о конкретной технологии, а об экосистеме, стеке технологий, в которой пользователь может быстрее реагировать и внедрять новшества, перемещать данные и приложения в облачные сервисы и размещать рабочие нагрузки на наиболее подходящей платформе. Основные принципы изложены в — http:// megatrade.ua/news/reviews/data-fabric-data-transport/ Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 59 ресурсы. Виртуальный сегмент ведет себя как контейнер для QE. Каждый виртуальный сег- мент имеет одно QE для каждого фрагмента за- проса. Количество используемых виртуальных сегментов определяет степень параллелизма (DOP) запроса. Основной единицей паралле- лизма HAWQ является экземпляр сегмента. Представление о программных компонен- тах дает рис. 29. HAWQ тесно интегрирован с YARN — структурой управления ресурсами Hadoop, в частности, ресурсами запросов. HAWQ кэширует контейнеры из YARN в пуле ресурсов, а затем управляет этими ресурса- ми локально, используя собственное тонкое управление ресурсами HAWQ для пользовате- лей и групп. Чтобы выполнить запрос, HAWQ выделяет набор виртуальных сегментов в соот- ветствии со стоимостью запроса, определени- ями очереди ресурсов, локальностью данных и текущим использованием ресурсов в системе. Затем запрос отправляется на соответствую- щие физические хосты, которые могут быть подмножеством узлов или всего кластера. Средство проверки ресурсов HAWQ на каждом узле отслеживает и контролирует ресурсы, ис- пользуемые запросом в реальном времени, чтобы избежать нарушений в использовании ресурсов. Мастер HAWQ является точкой вхо- да в систему. Он аутентифицирует клиентские соединения, обрабатывает входящие команды SQL, анализирует и оптимизирует запросы, распределяет рабочую нагрузку по сегментам, и координирует выполнение запроса. Запрос SQL в сегменты отправляется вместе со связан- ной информацией метаданных для обработки. Метаданные содержат URL-адрес HDFS для требуемой таблицы. Сегмент обращается к со- ответствующим данным, используя этот URL. Конечные пользователи взаимодействуют с HAWQ посредством мастера и могут подклю- чаться к базе данных, используя клиентские программы, такие как psql или интерфейсы прикладного программирования (API). В него входит глобальный системный ка- талог, содержащий в системных таблицах мета-данные о самой системе HAWQ. Служба каталога HAWQ хранит информацию об отно- шениях, о безопасности и местонахождение файлов данных. Служба отказоустойчивости HAWQ (Fault Tolerance Service, FTS) отвечает за обнаруже- ние отказов сегмента и прием сигналов откли- ка от сегментов. Диспетчер HAWQ отправляет планы запро- сов выбранному подмножеству сегментов и координирует выполнение запроса. Диспетчер и менеджер ресурсов HAWQ являются основ- ными компонентами, отвечающими за дина- мическое планирование запросов и ресурсы, необходимые для их выполнения. И в завершение обзора о разработках, ини- циатором которых был Greenplum, предоста- вим платформу Pivotal и Greenplum следующей генерации обработки данных (рис. 30). Таким образом, имея весьма положитель- ный отзыв18 об аналитической RDBMS MPP 18 Greenplum is being open sourced. — Febr. 18, 2015 – http://www.dbms2.com/2015/02/18/greenplum-is-being- open-sourced/ Рис. 28 Рис. 29 60 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев с открытым исходным кодом Greenplum, об- ратился к проблемам BigDate. Реорганизация Hadoop для обеспечения высокой доступности, связанной с наличием отдельных точек отказа, замена файловой системы HDFS на MapR, что- бы ускорить работу MapReduce и обеспечить многомерную масштабируемость и др., позво- лили создать ряд интересных разработок. Оптимизации производительности Green- plum и расширению его функциональности способствуют широкое использование компо- нентов экосистемы Hadoop (Apache Hive, HBase, Flume, Kafka, Spark, Solr и др., библиотек ма- шинного обучения MLLib, MADlib, Mahout). Вместе с тем, постоянно увеличивающееся количество данных требует роста скорости их обработки. Сейчас есть альтернатива пакетно- му MapReduce [115] — Apache Spark, быстрая универсальная вычислительная среда для рас- пределенной крупномасштабной обработки данных. Он производит большинство вычис- лений в памяти и вносит в экосистему Hadoop эффективные средства оперативной обработ- ки, Spark — это интерактивно-аналитическая система, предназначенная для задач, исполь- зующих многопроходные обработки (машин- ное обучение, граф-анализ, углубленный ана- лиз данных). БД Greenplum поддерживает высокоскорост- ную параллельную передачу данных между кластером Apache Spark посредством Pivotal Greenplum-Spark Connector19, что позволяет вы- полнять быструю аналитическую обработку в памяти, проводить интерактивный анализ, пакетную и потоковую ETL-обработку дан- ных. Встроенная поддержка компонентов эко- системы Hadoop обеспечивает совместимость анализа структурированных данных. PostGIS (рис. 30) — пространственное рас- ширение БД PostgreSQL, позволяющее хра- нить и обрабатывать объекты географической информационной системы (ГИС) в базе дан- ных. Геопространственные данные для после- дующих распределенных параллельных вы- числений требуют своего разделения на части, партиции и классификации их по координатам измерений — пространственной индексации (геодезические сети, дерево квадрантов, Grid- 19 Overview of the Greenplum-Spark Connector — https:// greenplum-spark.docs.pivotal.io/ Рис. 30 Рис. 30 Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 61 решетки и др.). Расширение PostGIS включает в себя поддержку пространственных индексов и функций для анализа и обработки объектов ГИС. Сегодня эту нагрузку способны выполнять фреймворки: GeoJinni (прежде SpatialHadoop), GeoMesa и GeoWave. Последний задумывался как аналог PostGIS, но для распределенного колоночного хранилища Accumulo [115], за- тем был передан в фонд Apache и работает с хранилищем HBase. GeoJinni — расширение для Hadoop, добавляющее геопространствен- ные функции в различные слои и компоненты Hadoop для хранения, обработки и индексации больших массивов геоданных. Хранятся и об- рабатываются геоданные как ключ-значение. Добавляются инструменты для загрузки и выгрузки различных форматов геоданных. GeoJinni создает два слоя индексного простран- ства, локальный и глобальный. Глобальный индекс позволяет партиционировать данные по DataNode кластера, локальный — отвечает за партиции на каждом DataNode. GeoMesa — это набор инструментов, созданный специ- ально для распределенной обработки, анализа и визуализации больших пространственно- временных данных, в том числе и потоковых. Для хранения наборов массивов данных слу- жат распределенные колоночные хранилища, такие как Accumulo, HBase, Google Bigtable. Так- же GeoMesa позволяет обрабатывать данные практически в реальном времени через специ- альный слой для системы потоковых сообще- ний Apache Kafka [115]. Pivotal GemFire — in-memory data grids (IMDG)20, технология распределенных храни- лищ данных в памяти, работающая на Apache Geode, являются ключом к работе современных высокоскоростных приложений с интенсив- ной обработкой данных. Pivotal GPText, основанный на Apache SolrCloud, осуществляет поиск в корпоратив- ной среде (социальные сети, электронная поч- та) свободного текста и, используя библиотеку 20 В данном случае Grids трактуется как объединение в единую распределенную инфраструктуру ресурсов памяти серверов кластера [100]. Apache MADlib, обеспечивает масштабную ана- литическую обработку для поддержки приня- тия бизнес-решений. И в заключение хочу сослаться на высокие оценки аналитиков Gartner [67] о решениях Pivotal, в частности, подчеркивается их при- годность для науки о данных (Data Science): «как представляется, особенно они подходят для контекстно-независимых случаев исполь- зования Pivotal Greenplum с ее аналитикой в БД (in-database analytics) совместно с Apache MADlib». Общие выводы Проанализировав сравнительно небольшой ряд аналитических СУБД для Больших Дан- ных (BigDate) широко известных производите- лей в мировом ИТ-сообществе сквозь призму трансформации существующих методов обра- ботки и инфраструктуры в решения, опреде- ляемые IDC как новое поколение технологий и архитектур, предназначенных для извлечения экономичной выгоды из очень больших объе- мов разнообразных данных, обеспечивающих высокую скорость съема и анализа, можно за- ключить следующее. Наряду с уже общепризнанной архитектурой массового параллелизма обработки (Massively Parallel Processing, MPP) в классе вычислитель- ных систем, состоящих из множества узлов, организованных по принципу shared nothing, все чаще применяют кластер Apache Hadoop – широко известную программную инфраструк- туру, в которую интегрированы ряд модулей, программных каркасов (frameworks) с теми или иными целевыми функциями, позволяющи- ми создать полнофункциональную платформу хранения и обработки неструктурированных данных. Возникшая дилемма: возможность обра- ботки в рамках одного хранилища разнород- ной информации высокопараллельными, основанными на языке SQL системами, обе- спечивающими полное соблюдение ACID, и распределенными системами Hadoop, быстро ставшим предпочтительным при работе с не- 62 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев структурированной информацией, имеет ряд интересных решений интеграции, но два из них заслуживают особого внимания. Одно из них — проект HAWQ — это уровень реляци- онной базы данных, расположенный поверх распределенной файловой системы Hadoop (HDFS). HAWQ записывает и считывает данные из HDFS изначально. HAWQ — это собствен- ный механизм запросов SQL Hadoop, который сочетает в себе ключевые технологические преимущества базы данных MPP с масштаби- руемостью и удобством Hadoop. Другое — хра- нилище, представляемое унифицированной архитектурой данных Teradata Unified Data Architecture™, и платформа управления дан- ными, учитывающая все варианты примене- ния хранилищ: традиционное, операционное, логическое и контекстно-независимое. Вы- сокопроизводительный доступ к данным, об- работку и виртуальную доставку к системам в гетерогенных аналитических средах обеспечи- вает экосистема Teradata QueryGrid™ — своеоб- разная матрица, использующая параллельное перемещение данных между объектами обме- на. Идея экосистемного подхода для охвата разного типа данных, сводится к связыванию узловых информационных точек в разных сре- дах. Принятая унифицированная архитекту- ра данных Teradata® UDA™ не противоречит единому представлению данных, без их пере- мещения, — концепту логических хранилищ данных и подчеркивают статус LDW как окон- чательного решения для БД и для аналитики. Аналитические возможности исследован- ных систем не ограничиваются только SQL- анализом. Так, Greenplum расширяет возмож- ности SQL через многоязычные пользователь- ские функции в таких языках как Python, R, Java, Perl, C/C ++. Teradata предоставля- ет готовые к использованию выразительные функции SQL-MapReduce® и Graph для вы- сокопроизводительной аналитики, функции временных рядов, аналитики текста и многое другое для исследования BigDate. Аналитиче- ские механизмы (SQL, SQL-MapReduce и SQL- Graph) обеспечивают оптимальную обработку аналитических задач в больших объемах дан- ных, например, полная обработка сетевой ана- литики (SNAP) в Teradata позволяет вызвать одним SQL-запросом расширенную аналитику нескольких видов (граф, путь/шаблон, текст, SQL и статистический прогнозный анализ). Наличие в разработках библиотек масшта- бируемых алгоритмов машинного обучения Machine Learning предоставляет in-database analytics и обеспечивает возможность интеллек- туального анализа данных при более объясни- мых моделях, что определенно приближает нас при наличии развитых механизмов выявления «нужных данных» и библиотек графического отображения информации, к платформам для научных исследований данных. Ежегодный рост BigDate обуславливает по- вышение скорости обработки данных. Ис- пользование аналитических вычислений в оперативной памяти БД (in-database analytics), исключающее перемещение данных и сокра- щающее время обработки стало уже привыч- ным. Более широкое использование памяти (in- memory computing, IMC) — платформы, работаю- щие в компьютерной памяти, еще сравнитель- но редки. Так, в Kx Systems (kdb+), благодаря IMC была реализована архитектура гибридной транзакционно/аналитической обработки – HTAP (hybrid transaction/analytical processing), позволяющая приложениям анализировать данные по мере их поступления и обновления функциями обработки транзакций. Расширенная аналитика в режиме реально- го времени, такая как прогнозирование и мо- делирование, стала неотъемлемой частью на- блюдаемого процесса, а не позиционируется как отдельное действие, выполненное после. Teradata реализовала инновационную техно- логию баз данных Intelligent Memory Teradata (IMDBMS от Teradata) — расширенное про- странство памяти за пределами кеша, что значительно увеличило производительность запросов и обеспечило эффективную техно- логию хранения разнообразных данных в па- мяти. Pivotal GemFire разработала технологию in-memory data grids (IMDG) распределенных высокопроизводительных хранилищ данных Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 63 в памяти для работы современных высокоско- ростных приложений с интенсивной обработ- кой данных. Технологии IMC, такие как система БД в оперативной памяти (IMDBMS) и высокомас- штабируемые, отказоустойчивые хранилища данных в оперативной памяти in-memory data grids низкой латентности будут востребованы, в том числе и для расширенной аналитики, такой как прогнозирование и моделирование. Hadoop и компоненты экосистемы его продук- тов достаточно широко представлены и функ- циональны, чтобы удовлетворить требованиям обработки BigDate. Технология в целом отработана, ее признали известные в мире ИТ-компании и активно ис- пользовали для разработки инфраструктурных решений прогрессивных средств, в том числе и расширенной аналитики для бизнес-анализа и платформ научных исследований данных. Наступившая фаза относительной стабиль- ности (commodity phase) говорит о том, что тех- нология становится обычной и доступной для всех. REFERENCES 90. Greenplum Database, [online] Available at:<https://greenplum.org/>[Accessed 11 Jun. 2018]. 91. Greenplum® Database 4.1 Administrator Guide, [online] Available at:<media.gpadmin.me/wp-content/uploads/2011/ 05/GP-4100-AdminGuide.pdf >[Accessed 11 Jun. 2018]. 92. EMC Greenplum Data Computing Appliance: Performance and Capacity for Data Warehousing and Business Intelligen¬ce, [online] Available at: Aug. 2011. https://japan.emc.com/microsites/japan/techcommunity/pdf/h8778- Greenplum DCA-HighCapacity-wp.pdf. [Accessed 11 Jun. 2018]. 93. Load and Go: Fast Data Loading with the Greenplum Data Computing Appliance (DCA) // Massive data news – https://www.emc.com/collateral/hardware/white-papers/load-and-go-fast-data-loading-greenplum-data-computing- appliance-wp.pdf >[Accessed 7 Aug. 2018]. 94. EMC Greenplum Data Computing Appliance. Driving the future of data warehousing, [online] Available at:<https:// www.ens-inc.com/FileLibrary/2f9a80b2-a267-4c72-a9d6-3952dae13894/> [Accessed 11 Jun. 2018]. 95. Hill D. Greenplum: EMC's Latest Plum? 10/25/2010. https://www.networkcomputing.com/storage/greenplum-emcs- latest-plum/1870771227>[Accessed 7 Aug. 2018]. 96. Pivotal Greenplum®. Greenplum Database Concepts, [online] Available at: https://gpdb.docs.pivotal.io/580/admin_ guide/intro/partI.html >[Accessed 7 Aug. 2018]. 97. Pivotal. The World’s First Open-Source Based, Multi-Cloud Data Platform Built for Advanced Analytics, [online] Available at:<-https://pivotal.io/pivotal-greenplum >[Accessed 7 Aug. 2018]. 98. Oursatyev А.А., 2018. “Big Data. Analytical Databases and Warehouse: Teradata”. Upravlausie sistemy i masiny, 2, pp. 51 — 67. (In Russian). 99. Oursatyev А.А., 2019. "Big Data. Analytical Databases and Warehouse: NETEZZA". Upravlausie sistemy i masiny, 1, pp. 51 — 67. (In Russian). 100. Oursatyev А.А., 2018. “Big Data. Analytical Databases and Warehouse: Vertica, Kdb”. Upravlausie sistemy i masiny, 1, pp. 57 —70. (In Russian). 101. New Data Loading Technology from Greenplum Offers Breakthrough Speeds For Large-Scale Data Warehousing. – San Mateo, CA (PRWEB), 2009 – http://www.prweb.com/releases/2009/03/prweb2235864.htm 102. Pivotal Greenplum®. About Parallel Data Loading. https://gpdb.docs.pivotal.io/580/admin_guide/intro/ about_ loading.html. 103. Pivotal Greenplum®. Choosing the Table Storage Model. https://gpdb.docs.pivotal.io/580/admin_guide/ddl/ddl- storage.html. 104. Storage Comes At a Price, 2016. https://www.linkedin.com/pulse/storage-comes-price-sandeep-katta- 105. Pivotal Greenplum®. About Concurrency Control in Greenplum Database. https://gpdb.docs.pivotal.io/580/admin_ guide/ in-tro/about_mvcc.html 106. Pivotal Greenplum v5.1. About GPORCA. https://gpdb.docs.pivotal.io/510/admin_guide/query/topics/query-piv- optimizer.html. 64 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев 107. Пакет Pivotal Big Data Suite ускоряет цифровую трансформацию, 2015. http://www.storagenews.ru/news_take. asp?Code=2319. 108. Graefe G. Volcano — An Extensible and Parallel Query Evaluation System, 1994. https://www.researchgate.net/publi- cation/3296396_Volcano-An_Extensible_and_Parallel_ Query_Evaluation_System 109. Graefe G. The Cascades Framework for Query Optimization, 1995. https: //www.researchgate.net/publication/220282640_ The_Cascades_Framework_for_Query_ Optimization. 110. A Modular Query Optimizer Architecture for Big Data // Mohamed A. Soliman, Lyublena Antova, Venkatesh Raghavan and etl. https://content.pivotal.io/white-papers/orca-a-modular-query-optimizer-architecture-for-big-data. 111. Addison Huddy. GPORCA, A Modular Query Optimizer, Is Now Open-Source. Pivotal Engineering Journal, 2016. http://engineering.pivotal.io/post/gporca-open-source/. 112. Data Lake – универсальное хранилище для аналитики больших данных. http://www.storagenews.ru/60/EMC_ Data_Lake_60.pdf. 113. Серов Д. Машины для аналитиков. «ОС», 2011. N 04., 2011. https://www.osp.ru/os/2011/04/13008766/ 114. New Features in Greenplum Database 3.2. Welcome to Greenplum Database 3.2.0.0. http://docs.huihoo.com/ greenplum/ GPDB-3.2.0.0-README.pdf 115. Oursatyev А.А., 2016. “Some Big Data Analytics Software Environments”. Upravlausie sistemy i masiny, 3, pp. 29 — 42. (In Russian). 116. Lozinskiy A.P., Simakhin V.M., Oursatyev А.А., 2017. “Technologies modeling for processing large data on the local cloud plat-form”. Upravlausie sistemy i masiny, 03, pp. 6–19. (In Russian). 117. Greenplum Database 4.3.6.1 Release Notes, 2015. http://docs.huihoo.com/greenplum/pivotal/4.3.6/relnotes/GPDB_ 4361_README.html#topic36 118. Bodkin Ron. MapR Releases Commercial Distributions based on Hadoop. InfoQ, 2011. https://www.infoq.com/news/ 2011/07/mapr. 119. Harris Derrick. Startup MapR Underpins EMC’s Hadoop Effort, 2011. https://gigaom.com/2011/05/25/startup- mapr-underpins-emcs-hadoop-effort/. 120. Clark Jack. EMC taps MapR technology for Hadoop distro, 2011. https://www.zdnet.com/article/emc-taps-mapr- technology-for-hadoop-distro/. 121. Chapter 7: Loading and Unloading Data. Greenplum® Database 4.2 Database Administrator Guide. Rev: A07, 2014 (4.2.7.1). https://www.emc.com/collateral/TechnicalDocument/docu44316.pdf. 122. Chapter 7: Loading and Unloading Data. Greenplum® Database Version 4.3 Database Administrator Guide. Rev: A01. © 2013. GoPivotal, Inc. https://gpdb.docs.pivotal.io/4300/pdf/ GPDB43_DBAGuide.pdf. 123. External Table Support for Avro and Parquet File Formats on HDFS. Greenplum Database 4.3.6.1 Release Notes. Sept. 2015. http://docs.huihoo.com/greenplum/pivotal/4.3.6/relnotes/GPDB_4361_README.html#topic36. 124. Jeffrey Wang. Dremel. Data Model. Ternary Search, 2013. http://ternarysearch.blogspot.com/2013/06/dremel-data- model.html. 125. Dremel: Interactive Analysis of Web-Scale Datasets / Melnik Sergey, Andrey Gubarev, Jing Jing Long et. al., Int. Conf. on Very Large Data Bases, 13–17 Sept. 2010, Singapore. https://static.googleusercontent.com/media/research.google. com/ ru//pubs/archive/36632.pdf. 126. Diwakar Kasibhotla. Greenplum and Hadoop HDFS integration, 2012. https://dwarehouse.wordpress.com/2012/ 10/10/greenplum-and-hadoop-hdfs-integration/. 127. New Functionality in Greenplum Database 4.2. Welcome to Greenplum Database 4.2. Updated: Nov. 23. 2011. http:// media.gpadmin.me/wp-content/uploads/2012/11/ GPDB_4200_README.pdf. 128. Harris Derrick. EMC Makes a Big Bet on Hadoop, 2011. https://gigaom.com/2011/05/09/emc-hadoop/ 129. Greenplum Platform Extension Framework (PXF). Using PXF with External Data. Pivotal Greenplum v5.5.0 Documentation. https://gpdb.docs.pivotal.io/550/pxf/overview_pxf.html. 130. Using PXF to Read and Write External Data. Greenplum Platform Extension Framework (PXF). https://gpdb.docs. pivotal. io/550/pxf/using_pxf.html 131. Greenplum 5: первые шаги в Open Source. Блог компании IBS, 2017. https://habr.com/company/ibs/ blog/343640/ 132. Menninger David. EMC Enters Elephant Race with Hadoop, 2011. https://davidmenninger.ventanaresearch. com/2011/05/12/emc-enters-elephant-race-with-hadoop 133. MapR Technologies and EMC Announce Technology Licensing Agreement for Next Generation Hadoop Distribution, 2011. https://mapr.com/company/press/mapr-technologies-and-emc-announce-technology-licensing-agreement- next-generation/ Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 65 134. MapR File System (MapR-FS). https://mapr.com/docs/52/MapROverview/c_maprfs.html 135. Direct Access NFS. https://mapr.com/docs/52/MapROverview/c_direct_NFS.html 136. MapR System Overview. https://mapr.com/docs/52/MapROverview/ c_overview_intro.html 137. MapReduce Version 1. https://mapr.com/docs/52/MapROverview/c_mrv1.html?hl =directshuffle 138. MapR Technologies: How Direct Shuffle actually works? https://www.quora.com/MapR-Technologies-How-Direct- Shuffle-actually-works 139. White T. Hadoop: The Definitive Guide. 1st ed. Sebastopol: O’Reilly Media, 2009. 528 p. http://oreilly.com/catalog/ 9780596521981 140. Hadoop Acceleration Through Network Levitated Merge. Wang Y., Que X., Yu W. https://www.cs.fsu.edu/~yuw/ pubs/2011-SC-Yu.pdf 141. JVM-Bypass for Efficient Hadoop Shuffling. Wang, Xu C., Li X., Yu W., IPDPS '13 Proceedings of the 2013 IEEE 27th Interna-tional Symposium on Parallel and Distributed Processing, pp. 569–578. https://www.cs.fsu.edu/~yuw/ pubs/2013-IPDPS-Yu.pdf 142. S. Rao. I-files: Handling Intermediate Data In Parallel Dataflow Graphs (Sailfish). https://www.cics.umass.edu/event/ i-files-handling-intermediate-data-parallel-dataflow-graphs 143. Camdoop: exploiting in-network aggregation for big data applications / P. Costa, A. Donnelly, A. Rowstron et al., In Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation, NSDI’12, pages 3–3, Berkeley, CA, USA, 2012. USENIX Association. http://www.cs.yale.edu/homes/yu-minlan/teach/csci599-fall12/ papers/nsdi12-final11_0.pdf 144. Direct Shuffle on YARN. https://mapr.com/docs/home/MapROverview/c_direct_shuffle_ yarn.html 145. EMC Greenplum HD Enterprise Edition. Advancing Hadoop for the Enterprise – Copyright © 2011 EMC Corporation. Published in the USA. 08/11 Data Sheet H8892. http://www.netdyninc.com/sw/swchannel/images/ProductCatalog/ Product-Page/File/datasheet69.pdf 146. MC Greenplum® HD Enterprise Edition. Administrator Guide Rev: A01, 2011. EMC Corporation. https://www.emc. com/ collat-eral/TechnicalDocument/docu34982.pdf 147. Aslett Matthew. What’s in a name? EMC Greenplum rebrands its Hadoop distros, 2012. https://blogs. the451group. com/information_management/2012/01/31/whats-in-a-name-emc-greenplum 148. Горизонтально масштабируемая сетевая система хранения данных для Greenplum HD. Система для хранения и анализа больших данных EMC Isilon. https://ukraine.emc.com/collateral/hardware/solution-overview/h8319- scale-out-nas-greenplum-hd-so.pdf-re-brands-its-hadoop-distros/ 149. DELL EMC Isilon Big Data Storage and Analytics Solutions. Efficient, Flexible In-Place Hadoop Analytics. https:// www.emc.com/collateral/hardware/solution-overview/h8319-scale-out-nas-greenplum-hd-so.pdf 150. Обзор работы HDFS с OneFS. http://doc.isilon.com/onefs/hdfs/02-ifs-c-hdfs-conceptual-topics.htm 151. Patel Mona. Chorus Brings Data Science Minds Together, 2013. https://blog.dellemc.com/en-us/chorus_data_ science/ 152. The Age of Self-Service Data is Upon Us. https://go.unifisoftware.com/Definitive-Guide-to-Self-Service-Data 153. Greenplum Software Introduces Greenplum Chorus, 2010. http://www.b-eye-network.com/ view/13182 154. Howard Philip. Self-service data preparation and cataloguing, 2016. https://www.bloorresearch.com/research/self- service-data-preparation-cataloguing-p2/ 155. Apache HAWQ is Apache Hadoop Native SQL. Advanced Analytics MPP Database for Enterprises. http://hawq. apache.org/ 156. Prickett Morgan Timothy. EMC morphs Hadoop elephant into SQL database HAWQ, 2013. https://www.theregister. co.uk/2013/02/25/emc_pivotal_hd _hadoop_hawq_database/ 157. Kersteter Bart. What is HAWQ?, 2013. https://www.quora.com/What-is-HAWQ 158. Pivotal HDB 2.1.1 Documentation, 2017. https://hdb.docs.pivotal.io/211/hawq/overview/ HAWQOver-view.html 159. Pivotal Greenplum: Open-Source, Massively Parallel Data Platform for Advanced Analytics. https://content.pivotal.io/ datasheets/pivotal-greenplum Received 03.04.2019 66 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев A.A. Oursatyev, PhD in Techn. Sciences, Leading Research Associate, Senior Scientists, International Research and Training Centre of Information Technologies and Systems of the NAS and MES of Ukraine, Glushkov ave., 40, Kyiv, 03187, Ukraine, aleksei@irtc.org.ua BIG DATA. ANALYTICAL DATABASES AND DATA WAREHOUSE: GREENPLUM Introduction. The article is a continuation of the Big Data and tools study, which is transformed into technology of the new generation and architecture of the BD platforms and storage for the intelligent output. In this part the review of DB Netezza is presented. The main attention is paid to the issues of changing the infrastructure, the tool environment and the platform for identifying the necessary information and new knowledge from the Big Data, the initial information about the product is given in the product general description. Purpose. The purpose is to consider and evaluate the application effectiveness of the infrastructure solutions for new developments in the Big Data study, to identify new knowledge, the implicit connections and indepth understanding, insight into phenomena and processes. Methods. The informational and analytical methods and technologies for data processing, the methods for data assess- ment and forecasting, taking into account the development of the most important areas of the informatics and information technology. Results. Greenplum, as well as Netezza and Teradata, created its Data Computing Appliance (DCA) complex, and later, an analytical Pivotal database Greenplum Database of corporate class with powerful and fast analytics for large data volumes un- der the Pivotal trademark. The relational database uses Postgres Core's largescale parallel Shared Nothing MPP architec-ture. The internal elements of PostgreSQL have been modified or added to support the parallel structure of the Greenplum data- base. Introduced technology Greenplum MPP Scatter/Gather Streaming fast loading (unloading), polymorphic data storage. For mass loading and reading of data, the Append-optimized or append-only storage format is used, providing performance advantages over Heap tables. The concurrency control in the Greenplum PostgreSQL database occurs without using a lock to control concurrency. Data consistency is supported by Multiversion Con-currency Control, MVCC, which provides isolated transaction for each database session. GPORCA is ORCA query optimizer which expands the capabilities of planning and optimizing the legacy of GPQUERY. For the first time, EMC announced its Big Data analytics development programme in 2011. A comprehensive strategy for the integration and support of open source software Apache Hadoop was presented. As a result of merging the Greenplum database with Hadoop, it became possible to expand data types in analytical studies within a single repository. The adapta- tion of the Greenplum database to the HDFS distributed file system has been completed for more than two years by the largest development team of Hadoop. It was necessary to create a storage layer that would improve the current HDFS version in terms of performance, availability, and ease of use. Along with Cloudera, Hortonworks and MapR, the largest providers of data storage and processing solutions, EMC, Greenplum, Pivotal appeared on the market of services providing infrastructure support for Hadoop, promoting their own Hadoop distribution. We have considered the technologies being used to modify the Hadoop infrastructure for the analytics platform in Green- plum products and the RDBMS integration environment with Hadoop: from the Writable External Table to the expansion of the Greenplum database (PXF), which allows exchanging data with third-party heterogeneous systems, Pivotal Greenplum HAWQ - self-contained SQL Hadoop query engine, which combines the key technological advantages of the MPP database with the scalability and convenience of Hadoop, and the Greenplum Chorus self-service data platform. General conclusions. Having analysed a relatively small number of analytical DBMS for BigDate by well-known manufac- turers in the global IT community through the transforming existing processing methods and infrastructure into solutions, identified by IDC as a new genera-tion of technologies and architectures designed to extract economical benefits from a very large amounts of diverse data providing the high rate of removal and analysis, we can conclude the following. 1. Along with the generally recognized MPP architecture, the Apache Hadoop cluster is a well-known software infra- structure that integrates a number of modules (frameworks) with the various target functions, a class of computing systems consisting of many nodes organized on the basis of shared nothing – the ability to create a full-featured platform for storing and processing unstructured data. The arisen dilemma is that the ability to process different types of data within a single reposi-tory with highly parallel, SQL-based systems that ensure full compliance with ACID and distributed Hadoop systems, which have quickly become the preferred way of working with unstructured information, has a number of interesting integration solutions, but two of them deserve special attention. One of them, the HAWQ project, is a relational database tier located on top of the Hadoop distributed file system's HDFS. HAWQ writes and reads data initially from HDFS. HAWQ is a proprietary SQL Hadoop query Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 67 engine that combines the key technological benefits of the MPP database with the scalability and convenience of Hadoop. The other is the storage, represented by the Teradata Unified Data Architecture, and the data management platform that takes into account all the storage applications: traditional, operational, logical, and context-independent. High-performance data access, processing and virtual delivery to systems in heterogeneous analytic environments is provided by the Teradata Query- Grid ™ ecosystem, a kind of matrix that uses parallel data movement between exchange objects. The idea of an ecosystem approach to cover different types of data comes down to linking nodal information points in the different environments. The adopted of Teradata® UDA ™ does not contradict the unified presentation of data, without moving them, to the concept of logical data stores and emphasize the status of LDW as a final solution for the data-base and for analytics. 2. Analytical capabilities of the studied systems are not limited to SQL-analysis. So, Greenplum extends the capabilities of SQL through multilingual user functions in languages such as Python, R, Java, Perl, C/ C ++. Teradata provides ready-to use SQL-MapReduce® and Graph expressive functions for high-performance analytics, time series functions, text analytics, and more for BigDate research. Analytical mechanisms (SQL, SQL-MapReduce and SQL-Graph) ensure an optimal processing of the analytical tasks in large amounts of data, for example, full network analytics processing (SNAP) in Teradata allows to call several types of advanced analytics (graph, path/template, text, SQL and statistical forecast analysis). 3. In the libraries development there are the scalable algorithms Machine Learning and the use of cluster computing in RAM will ensure the possibility of AI with more explicable models, which will definitely bring us closer to Data Science plat- forms, if there are developed mechanisms for identifying the “needful data” and libraries of graphic information display. 4. The annual growth of BigDate causes an increase in data processing speed. The use of in-database analytical comput- ing, which eliminates data movement and reduces processing time, has become customary. Wider use (in-memory comput- ing, IMC) – platforms operating in computer memory are still relatively rare. For example, Kx Systems (kdb +), thanks to IMC, implemented the hybrid transaction/analytical processing, HTAP architecture, allowing applications to analyse data as it arrives and is updated with transaction processing functions. Extended real-time analytics, such as forecasting and modelling, have become an integral part of the observed process, rather than being positioned as a separate action performed after. Teradata implemented an innovative database technology Intelligent Memory Teradata (IMDBMS from Teradata) – expanded memory space outside the cache, which significantly increased еру query performance and provided an effective technology for storing a variety of data in memory. Pivotal GemFire has developed in-memory data grids (IMDG) tech- nology for distributed high-performance in-memory data storage for modern high-speed applications with intensive data processing. IMC technologies such as in-memory database (IMDS) and high-scale, fault-tolerant in-memory data storage grids of low latency will be in demand, especially for advanced analytics such as prediction and modelling. 5. Hadoop and the components of the ecosystem of its products are fairly well represented and functional to meet the requirements of BigData processing. The technology as a whole has been developed, it has been recognized by well-known IT companies in the world and are actively used for developing infrastructure solutions of the advanced tools, including ad- vanced analytics for business analysis and Data Science platforms. The coming phase of relative stability (commodity phase) indicates that the technology is becoming common and accessible to all. Keywords: Greenplum Data Computing Appliance (DCA), Non Shared Nothing MPP architecture based on PostgreSQL core, a MPP Scatter/Gather Streaming technology the data loading and unloading, Polymorphic Data Storage, BigData analytics, inte- gration platforms, Own SQL query engine for Hadoop HAWQ, self-service data. 68 ISSN 0130-5395, Control systems and computers, 2019, № 2 А.А. Урсатьев О.А. Урсатьєв, канд. техн. наук, старший науковий співробітник, провідний науковий співробітник, Міжнародний науково-навчальний центр інформаційних технологій та систем НАН та МОН України, просп. Глушкова, 40, Київ 03187, Україна, aleksei@irtc.org.ua ВЕЛИКІ ДАНІ. АНАЛІТИЧНІ БАЗИ ДАНИХ І СХОВИЩА: GREENPLUM Вступ. Стаття є продовженням досліджень Великих Даних і інструментарію, що трансформується в нове поколін- ня технологій і архітектури платформ БД та сховищ для інтелектуального виводу. У даній частині огляду подано DB Greenplum. Основну увагу приділено питанням зміни інфраструктури, інструментального середовища і плат- форми для виявлення необхідної інформації та нових знань з Великих Даних, а початкові відомості про продукт наведено в загальній характеристиці виробу. Мета. Розглянути та оцінити ефективність застосування інфраструктурних рішень нових розробок в дослі- дженнях Великих Даних для виявлення нових знань, неявних зв'язків і поглибленого розуміння, проникнення в суть явищ і процесів. Методи. Інформаційно-аналітичні методи і технології обробки даних, методи оцінки та прогнозування даних, з урахуванням розвитку найважливіших галузей інформатики та інформаційних технологій. Результати. Greenplum, так само як Netezza і Teradata, створив свій комплекс Data Computing Appliance, пізніше – аналітичну БД Pivotal Greenplum Database корпоративного класу з потужною і швидкою аналітикою для великих обсягів даних під торговою маркою Pivotal. Реляційна БД використовує широкомасштабну паралельну MPP- архітектуру без розподілу ресурсів на основі ядра Postgres Core. Внутрішні елементи PostgreSQL були модифіко- вані або доповнені для підтримки паралельної структури БД Greenplum. Впроваджено технологію Greenplum MPP Scatter/Gather Streaming швидкого завантаження (вивантаження), поліморфного зберігання даних. Для масового завантаження і читання даних використовується Append-оптимізований формат зберігання, що забезпечує пере- ваги продуктивності в порівнянні з таблицями Heap. Управління паралелізмом в БД Greenplum і PostgreSQL від- бувається без використання блокування для його контролю. Узгодженість даних підтримується мультиверсійною моделлю контролю конкурентних транзакцій MVCC, що забезпечує ізоляцію транзакцій для кожного сеансу БД. GPORCA – оптимізатор запитів ORCA розширює можливості планування і оптимізації успадкованого GPQUERY. Вперше ЕМС анонсувала свою програму розвитку аналітики Big Data в 2011 р. Була представлена комплексна стратегія інтеграції та підтримки ПЗ з відкритим вихідним кодом Apache Hadoop. В результаті злиття БД Greenplum з Hadoop з'явилася можливість в рамках одного сховища розширити типи даних в аналітичних дослідженнях. Адаптація БД Greenplum для розподіленої файлової системи HDFS виконувалася протягом більше двох років най- більшої командою розробників Hadoop, так як було потрібно створити рівень зберігання, який зміг би поліпшити поточну версію HDFS з точки зору продуктивності, доступності та простоти використання. На ринку послуг, що надають підтримку інфраструктури Hadoop, поряд з компаніями Cloudera, Hortonworks і MapR, з'явилися поста- чальники рішень для зберігання і обробки даних в особі EMC, Greenplum і Pivotal, які також стали просувати свій власний дистрибутив Hadoop. Розглянуто використовувані технології, що модифікують інфраструктуру Hadoop для платформи аналітики в продуктах Greenplum, і середовища інтеграції реляційної БД з Hadoop: від записуваних зовнішніх таблиць до роз- ширення БД Greenplum (PXF), що дозволяє обмінюватися даними зі сторонніми гетерогенними системами; Pivotal Greenplum HAWQ – власного механізму запитів SQL Hadoop, що поєднує в собі ключові технологічні переваги бази даних MPP з масштабованістю і зручністю Hadoop; платформу self-service data Greenplum Chorus. Загальні висновки. Проаналізувавши порівняно невеликий ряд аналітичних СУБД для Великих Даних широ- ко відомих виробників в світовому ІТ-співтоваристві крізь призму трансформації існуючих методів обробки та інфраструктури в рішення, які визначаються IDC як нове покоління технологій і архітектур, призначених для вилучення економічної вигоди з дуже великих обсягів різного типу даних, що забезпечують високу швидкість знімання і аналізу, можна зробити наступний висновок. 1. Поряд з вже загальновизнаною архітектурою масового паралелізму обробки, MPP в класі обчислювальних систем, що складаються з безлічі вузлів, організованих за принципом shared nothing, застосовують кластер Apache Hadoop з широко відомою програмною інфраструктурою, в яку інтегровані ряд модулів, програмних каркасів (frameworks), з тими чи іншими цільовими функціями, що дозволяють створити повнофункціональну платформу зберігання і обробки неструктурованих даних. Большие данные. Аналитические базы данных и хранилища: Greenplum ISSN 0130-5395, УСиМ, 2019, № 2 69 Виниклу дилему – можливість обробки в рамках одного сховища різнорідних типів даних високопаралельни- ми, заснованими на мові SQL системами, що забезпечують повне дотримання ACID, і розподіленими системами Hadoop, які швидко стали кращими при роботі з неструктурованою інформацією, мають ряд цікавих рішень ін- теграції, але два з них заслуговують на особливу увагу. Одне з них – проект HAWQ – це рівень реляційної бази даних, розташований поверх розподіленої файлової системи Hadoop (HDFS). HAWQ записує і зчитує дані з HDFS спочатку. HAWQ – це власний механізм запитів SQL Hadoop, який поєднує в собі ключові технологічні переваги бази даних MPP з масштабованістю і зручністю Hadoop. Друге рішення – сховище, яке надається уніфікованою архітектурою даних Teradata Unified Data Architecture™, і платформа керування даними, що враховує всі варіанти застосування сховищ: традиційне, операційне, логічне і контекстно-незалежне. Високопродуктивний доступ до даних, обробку і віртуальну доставку до систем в гетерогенних аналітичних середовищах забезпечує екосистема Teradata QueryGrid™ – своєрідна матриця, яка використовує паралельне переміщення даних між об'єктами обміну. Ідея екосистемного підходу для охоплення різного типу даних, зводиться до зв'язування вузлових інформаційних точок в різних середовищах. Прийнята уніфікована архітектура даних Teradata® UDA™ не суперечить єдиному по- данню даних, без їх переміщення, – концепту логічних сховищ даних і підкреслюють статус LDW як остаточного рішення для БД і аналітики. 2. Аналітичні можливості досліджених систем не обмежуються тільки SQL-аналізом. Так, Greenplum розширює можливості SQL через призначені для користувача функції в таких мовах як Python, R, Java, Perl, C / C ++. Teradata надає готові до використання виразні функції SQL-MapReduce® і Graph для високопродуктивної аналітики, функ- ції часових рядів, аналітики тексту і багато іншого для дослідження BigDate. Аналітичні механізми (SQL, SQL- MapReduce і SQL-Graph) забезпечують оптимальну обробку аналітичних задач у великих обсягах даних, наприк- лад, повна обробка мережевої аналітики (SNAP) в Teradata дозволяє викликати одним SQL-запитом розширену аналітику декількох видів (граф, шлях/шаблон, текст, SQL і статистичний прогнозний аналіз). 3. Наявність в розробках бібліотек масштабованих алгоритмів машинного навчання Machine Learning надає аналітику, яка виконується в оперативній пам'яті і забезпечує можливість інтелектуального аналізу даних при більш з'ясовних моделях, що безумовно наближає нас при наявності розвинених механізмів виявлення «потріб- них даних» та бібліотек графічного відображення інформації, до платформ наукових досліджень даних. 4. Щорічне зростання BigDate обумовлює підвищення швидкості обробки даних. Використання аналітичних обчислень в БД, що усуває накладні витрати при переміщенні великих наборів даних до аналітичних застосунків, стало вже звичним. Більш широке використання пам'яті (in-memory computing, IMC) – платформи, що працюють в комп'ютерній пам'яті, ще порівняно рідкісні. Так, в Kx Systems (kdb +), завдяки IMC була реалізована архітектура гібридної транзакційно/аналітичної обробки – HTAP, що дозволяє застосункам аналізувати дані по мірі їх над- ходження і поновлення функціями обробки транзакцій. Розширена аналітика в режимі реального часу, така як прогнозування і моделювання, стала невід'ємною частиною спостережуваного процесу, а не позиціонується як окрема дія, виконана після. Teradata реалізувала інноваційну технологію баз даних Intelligent Memory Teradata – розширений простір пам'яті за межами кеша, що значно збільшило продуктивність запитів і забезпечило ефек- тивну технологію зберігання різноманітних даних в пам'яті. Pivotal GemFire розробила технологію in-memory data grids (IMDG) розподілених високопродуктивних сховищ даних в пам'яті для роботи сучасних високошвидкісних за стосунків з інтенсивною обробкою даних. Технології IMC, такі як система БД в оперативній пам'яті (IMDS) і високомасштабовані відмовостійкі сховища даних в оперативній пам'яті (in-memory data grids) низької латентності будуть затребувані, в тому числі і для роз- ширеної аналітики – прогнозування і моделювання. 5. Hadoop і компоненти його екосистеми продуктів досить широко представлені і функціональні, щоб задо- вольнити майже всім вимогам Big Data. Технологія в цілому відпрацьована, її визнали відомі в світі ІТ-компанії і активно використовували для розробки і впровадження інфраструктурних рішень прогресивних засобів, в тому числі і розширеної аналітики для бізнес-аналізу і платформ наукових досліджень даних. Наступила фаза відносної стабільності (commodity phase), яка свідчить про те, що технологія стає звичайною і доступною для всіх. Ключовi слова: Greenplum Data Computing Appliance, MPP-архітектура без розподілу ресурсів на основі ядра PostgreSQL, технологія MPP Scatter/Gather Streaming завантаження (вивантаження), поліморфне зберіган- ня даних, аналітика Big Data, інтеграція платформ, механізм запитів SQL Hadoop HAWQ, самообслуговування даними.