Д
Дата Инжир
@god_given_it534 подп.
787просмотров
20 октября 2025 г.
question📷 ФотоScore: 866
➡️Что же такое Greenplum и в чем его магия? Для самых маленьких! 1️⃣Определение: GreenPlum - массово-параллельная (Massive Parallel Processing) реляционная СУБД на основе PostgreSQL. Далее: GP - Greenplum MPP - Massive Parallel Processing. 2️⃣Архитектура: GP относится к shared nothing архитектуре(Shared Nothing Architecture). То есть, простым языком - это распределённая вычислительная архитектура, в которой каждый узел (сервер) является независимым и самодостаточным. У каждого узла свой набор ЦПУ, памяти и дискового хранилища. Далее: SNA - Shared Nothing Architecture. 🔵Как взаимодействуют между собой сегменты? Сегменты взаимодействуют между собой по межсетвым соединениям, называемыми интерконнектами. При этом используется стандартная коммутационная матрица Ethernet. Для высокой производительности рекомендуется 10-гигабитная система или выше. 🔵Мастер-хост: GP - сегмент Postgress'а который ставится на отдельном master-host'е и именно через него происходит взаимодействие со всем кластером и осуществляется хранение метаданных (не путать с самими данными они хранятся на обычных сегментах!) 🔵Сегмент-хосты: Все остальные хосты предназначены для хранения и обработки данных БД. Эти хосты называются сегмент-хосты, и их может быть несколько, но не менее двух (иначе теряется смысл MPP). 🔵Сегменты: 🔵Первичные сегменты (primary segments). Они располагаются внутри сегмент-хостов. Этих сегментов в кластере несколько. В своих директориях первичные сегменты хранят пользовательские данные, с которыми взаимодействуют пользователи, и реплику каталога БД. На первичных сегментах обрабатываются DML-операции, они несут основную пользовательскую нагрузку. 🔵Сегменты-зеркала (mirror segments). Они также располагаются на сегмент-хостах. Этих сегментов в кластере столько же, сколько и первичных. Зеркала хранят реплики данных с первичных сегментов. Они не обрабатывают запросы, а только принимают поток репликации данных, поэтому почти не создают нагрузку на процессор и память. Репликация на зеркалах синхронная: при записи данных на первичный сегмент транзакция не закончится, пока данные не реплицируются на зеркало. Зеркала находятся на других сегмент-хостах, нежели их первичный сегмент, и используются в запросах только в том случае, если основной сегмент отказал. 🔵Отказоустойчивость Также на случай, если master сервер решит прилечь немного отдохнуть, существует реализация запасного (standby) master'а. А на случай падения сегментов (node), в работу включаются зеркала. Упрощённая архитектурная схема GP: master host standby master 🖥 ------> 🖥 | | ------------------- | INTERCONNECTION | ------------------- | | ------- ------- |P1 M8| |P5 M4| |P2 M7| |P6 M3| |P3 M6|-----------|P7 M2| |P4 M5| |P8 M1| ------- ------- Segment Host Segment Host P - Primary segment M - Mirror segment 3️⃣Приемущества: - Ну MPP и SNA, а дальше то чего? 🍴 - Ну тут по порядку! 🤨 🔵Приемущества MPP: 🔵Теоритически неограниченная горизонтальная масштабируемость: При большом желании можно до бесконечности расширять мощность для ускорения обработки информации. 🔵Линейный рост производительности: Добавление node линейно увеличивает производительность системы. 🔵Высокая производительность: MPP позволяет обрабатывать запросы параллельно на нескольких сегментах, что значительно увеличивает скорость выполнения аналитических запросов и обработки больших объемов данных. 🔵Приемущества SNA: 🔵Отказоустойчивость: В SNA каждый сегмент является независимым узлом, что означает, что сбой одного узла не влияет на работу других. Это повышает общую надежность системы. 🔵Оптимизация ресурсов: Каждый сегмент имеет свои собственные ресурсы (память, процессор, дисковое пространство), что позволяет оптимально использовать аппаратные ресурсы и избегать конкуренции за них между узлами, что ведет к улучшению производительности. 🔥Понравился пост? Оставь реакцию, так ты поддержи
787
просмотров
4000
символов
Да
эмодзи
Да
медиа

Другие посты @god_given_it

Все посты канала →
➡️Что же такое Greenplum и в чем его магия? Для самых малень — @god_given_it | PostSniper