Найти в Дзене

День 127. Arenadata DB. Airflow. Greenplum. Oracle Database.

Arenadata DB Arenadata DB — оптимальное решение для создания надёжных хранилищ данных с высокой скоростью обработки аналитических запросов любой сложности. Эта защищённая и гибко масштабируемая СУБД обеспечивает непрерывность критичных бизнес-процессов и возможность неограниченного роста компании. Arenadata DB (ADB) — это массивно-параллельная реляционная аналитическая СУБД, построенная на основе технологии с открытым исходным кодом Greenplum. Применяется в критически важных системах и предназначена для хранения и обработки больших объёмов данных — от десятков терабайт до десятков петабайт. Целевые сценарии применения: Airflow Apache Airflow — открытое программное обеспечение для создания, выполнения, мониторинга и оркестровки потоков операций по обработке данных. AirFlow - это сервис для разработки, планирования и мониторинга рабочих процессов, в частности сценариев выгрузки, преобразования и загрузки данных (ETL). Основная функциональность Airflow, которая используется в SDP Analytic

Системный аналитик.

Arenadata DB

Arenadata DB — оптимальное решение для создания надёжных хранилищ данных с высокой скоростью обработки аналитических запросов любой сложности. Эта защищённая и гибко масштабируемая СУБД обеспечивает непрерывность критичных бизнес-процессов и возможность неограниченного роста компании.

Arenadata DB (ADB) — это массивно-параллельная реляционная аналитическая СУБД, построенная на основе технологии с открытым исходным кодом Greenplum. Применяется в критически важных системах и предназначена для хранения и обработки больших объёмов данных — от десятков терабайт до десятков петабайт.

Целевые сценарии применения:

  • Реализация корпоративного хранилища данных (КХД), в том числе для задач бизнес-аналитики, подготовки финансовой и управленческой отчётности.
  • СУБД для систем клиентской аналитики (CRM).
  • СУБД для систем управления маркетинговыми кампаниями (CM).

Airflow

Apache Airflow — открытое программное обеспечение для создания, выполнения, мониторинга и оркестровки потоков операций по обработке данных.

AirFlow - это сервис для разработки, планирования и мониторинга рабочих процессов, в частности сценариев выгрузки, преобразования и загрузки данных (ETL).

Основная функциональность Airflow, которая используется в SDP Analytics:

  • Создание подключения к источникам/базам данных - подключение проводится непосредственно в UI Airflow с указанием хоста, логина и пароля (хранится защищенно)
  • Создание пользовательских сценариев ETL-процессов - пользователь создает файл .py в соответствии с требованиями Airflow, в котором он инициализирует и описывает ETL-процесс в виде DAG. Созданный DAG перемещается в S3 bucket, который непосредственно синхронизируется с Airflow.
  • Управление сценариями ETL-процессов из UI Airflow - созданные пользователем файлы .py с описанием ETL-процессов, представляют собой набор DAGs, доступных из веб-интерфейса Airflow.

Greenplum

Greenplum — это массово-параллельная реляционная система управления базами данных (СУБД) на основе PostgreSQL. Она подходит для хранения и обработки больших объёмов данных (до сотен ТБ). 1

Особенности Greenplum:

  • Гибкая горизонтальная масштабируемость. Можно легко добавлять новые серверы и сегменты без ограничений в количестве.
  • Мощные алгоритмы оптимизации. Подходят для быстрой обработки «тяжёлых» аналитических запросов при работе с многотерабайтными массивами данных.
  • Поддержка реляционной модели данных. Сохраняет неизменность данных, поэтому её можно применять для данных, чувствительных к точности и структурности.

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

Сфера применения: логистика, IoT, производство, агропромышленность, системы безопасности, ЖКХ и другие сферы, где необходимо хранить и обрабатывать большие объёмы данных.

Oracle Database

Oracle DB — это культовая СУБД, разработанная ещё в семидесятые программистами Ларри Эллисоном и Бобом Майнером (которые, к слову, до этого работали на ЦРУ). Культовой её считают потому, что это первая коммерчески успешная СУБД, работающая по реляционной модели.

Как работает Oracle Database

В основе работы Oracle DB лежит клиент-серверная модель. Суть у неё простая:

Есть сервер, где хранятся данные, и система, которая ими управляет.

Есть клиент, который хочет эти данные получить или, наоборот, записать. В интернете клиентом выступает обычный браузер — он умеет превращать клики пользователей на сайте в серверные запросы.

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

На самом сервере тоже всё хитро: помимо данных, которые физически лежат на диске, есть ещё процессы, которые этими данными управляют. Набор всех процессов в СУБД Oracle DB называют экземпляром — по сути, это программная оболочка для файлов, которая существует только в оперативке сервера. Если выключить сервер из розетки, экземпляр удалится, а сами файлы с данными останутся.

Допустим, вы зашли на популярный маркетплейс, чтобы купить кроссовки. Вот как будет выглядеть серверная логика, если под капотом маркетплейса Oracle DB:

Вы кладёте кроссовки в корзину и нажимаете кнопку «Купить».

Ваш браузер посылает запрос о покупке на сервер.

На сервере работает специальный драйвер Oracle Net Services — он видит запрос от браузера и выделяет под него отдельный процесс.

Серверный процесс «звонит» экземпляру БД и говорит: «Эй, есть задачка от клиента, возьмёшь в работу асап?»

Экземпляр такой: «Ага» — и запускает процесс записи в базу данных.

В результате в базе данных появляется строчка «Пользователь ID №1 взял товар ID №2 в таком-то количестве».

Когда запись закончена, сервер отправляет по сетям запрос обратно и вы видите сообщение «Спасибо за покупку!».

Всеми этими процессами, начиная от получения запроса на сервере и заканчивая отправкой ответа, как раз и управляет Oracle.