Greenplum: аналитическая БД для Big Data-проектов | OTUS

Курсы

Программирование
Java Developer. Professional Highload Architect C++ Developer. Basic Специализация C++ Developer C++ Developer. Professional Java Developer. Basic Kotlin Developer. Basic Microservice Architecture JavaScript Developer. Basic Cloud Solution Architecture Team Lead C# Developer. Professional Алгоритмы и структуры данных Rust Developer C# Developer. Basic NoSQL Выбор профессии в IT
-99%
Python Developer. Basic Python Developer. Professional Базы данных iOS Developer. Professional React.js Developer Scala-разработчик Специализация iOS Unity Game Developer. Basic MS SQL Server Developer Kotlin Backend Developer Node.js Developer Symfony Framework PHP Developer. Basic Буткемп Java Groovy Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Greenplum: аналитическая БД для Big Data-проектов

Greenplum — система управления данными, предназначенная для больших проектов из мира Big Data. Давайте рассмотрим, как устроена эта система, в чем ее особенности, кому она подойдет.

greenplum_subd_big_1-20219-4256fd.png

Устройство Greenplum

В основе СУБД находятся 2 вещи:

  • известная база данных PostgreSQL;
  • архитектурная концепция MPP.

Если про PostgreSQL знают все, то про MPP стоит рассказать отдельно.

MPP расшифровывается как massively parallel processing (массивно-параллельная обработка данных). Эта архитектура устроена непросто, однако мы ограничимся простым концептуальным описанием. По сути, речь идет об умной автоматической разбивке данных по разным серверам (о шардинге), причем стоит отметить также и наличие умной автоматической системы выполнения запросов к этим данным. Все это в комплексе дает возможность хранить петабайты записей и не просто хранить, но и выполнять к ним запросы за приемлемое время.

1-20219-cee8f5.png

При этом каждый процессор в такой системе обладает своей памятью, операционной системой и дисками.

Вы можете сказать, что разбивку большого объема данных по серверам БД (шардинг) можно выполнить и вручную, к примеру, пусть первый миллион записей хранится на сервере № 1, а второй миллион -- на сервере № 2 и т. д. Так то оно так, но в этом решении есть много минусов. Например, давайте представим ситуацию, при которой сразу все клиенты системы хотят прочитать записи с одного сервера — данный сервер попросту может не выдержать. Да и масштабировать такую систему будет тоже очень непросто.

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

  • на число записей на каждой машине,
  • на число процессоров,
  • на объем памяти и т. д.

При этом сама система не отвечает за хранение данных -- для этого система использует PostgreSQL.

Таким образом, перед нами сбалансированное сочетание надежной СУБД и крутой архитектуры, что в совокупности формирует высокопроизводительную и надежную систему, которая очень пригодится тем, кому необходимо справляться с Big Data и масштабной аналитикой.

583dca6850b98db0e2929e26a06d3a9f_1-20219-b07041.jpg

Кому подойдет СУБД Greenplum?

Мы уже сказали, что система, по сути, незаменима, если данных слишком много. Конечно, 2-4 терабайта можно втиснуть на 1-3 сервера и даже вполне себе успешно обращаться к этим данным. Но когда идет речь о петабайтах и более, то поместить столько данных в обычную СУБД будет очень проблематично.

Итак, Greenplum пригодится как раз тем, у кого данных не просто много, а больше, чем очень много. Это раз.

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

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

И еще три вишенки на торте:

  1. Greenplum успешно справляется с аналитическими нагрузками, начиная от бизнес-аналитики, заканчивая машинным обучением.
  2. Greenplum поддерживает разные виды репликации и шардинга и оставляет далеко позади все аналоги.
  3. Так как Greenplum построена на базе PostgreSQL, вам будет гораздо проще найти специалистов для работы с системой.

0_hG5qXBdecx9K470y_1-20219-bc0cd7.png

По материалам блога https://mcs.mail.ru/blog.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться