MPP-архитектура
Данный документ представляет архитектуру базы данных, используемую YMatrix на физическом уровне: архитектуру MPP (Massive Parallel Processing).
1 Что такое MPP-архитектура?
MPP — это архитектура базы данных, основанная на кластере без общих ресурсов (shared-nothing), где каждый узел имеет собственную независимую систему дискового хранилища и памяти. Бизнес-данные распределяются между узлами в соответствии с моделью базы данных и характеристиками приложения. Каждый узел данных (Segment Node) соединяется с другими через специализированные или стандартные коммерческие сети, совместно выполняя вычисления и предоставляя сервисы базы данных. Кластеры баз данных без общих ресурсов обладают преимуществами, такими как масштабируемость, высокая доступность, производительность и экономическая эффективность.
Проще говоря, MPP-архитектура распределяет задачи параллельно между несколькими серверами и узлами. После завершения вычислений каждым узлом результаты агрегируются для получения финального вывода.
2 Что означает характеристика «без общих ресурсов» в MPP-архитектуре?
С точки зрения архитектуры данных, распределённые архитектуры баз данных делятся на три типа: Shared Everything, Shared Disk и Shared Nothing:
- Shared Everything: Обычно применяется в однородных системах, где CPU, память и I/O надёжно и прозрачно разделяются. Однако такая архитектура обладает слабыми возможностями параллельной обработки.
- Shared Disk: Распределённая вычислительная архитектура, в которой узлы разделяют одни и те же дисковые устройства, но каждый узел имеет собственную приватную память. Диски остаются доступными для всех активных узлов, что позволяет обмениваться памятью при сбоях. В этой архитектуре пользователи могут обращаться к дискам со всех узлов кластера. Она быстро адаптируется к изменяющимся нагрузкам и использует передовые методы оптимизации.
- Shared Nothing: Распределённая вычислительная архитектура, в которой каждый узел независим и связан с другими через сеть. Каждый узел состоит из процессора, оперативной памяти и диска. Основная цель этой архитектуры — устранить конкуренцию за ресурсы между узлами. Узлы не разделяют память или хранилище; каждый узел имеет выделенные, необщие диски, что обеспечивает эффективную работу в средах с высокой интенсивностью чтения/записи.
_1692009080.png)
3 Каковы характеристики MPP-архитектуры?
Ключевые характеристики MPP-архитектуры включают:
- Отсутствие необходимости записывать промежуточные данные на диск.
- Параллельное выполнение задач.
- Хранение данных распределённым и локализованным способом.
- Распределённые вычисления с равномерной ролью всех узлов данных (Segments), что повышает возможности параллельной обработки.
- Стабильность и доступность Master-узла напрямую влияют на общую производительность системы.
- Горизонтальная масштабируемость, позволяющая расширять кластер путём добавления узлов.
- «Эффект бочки»: если один узел постоянно работает медленнее других в кластере, общая производительность кластера ограничивается скоростью самого медленного узла.