Advanced

Что такое GaussDB(DWS)?

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

GaussDB(DWS) — это онлайн-база данных для анализа и обработки данных, построенная на облако инфраструктура и платформа. Она предлагает масштабируемые, готовые к использованию и полностью управляемые услуги аналитической базы данных и совместима с синтаксисом ANSI/ISO SQL92, SQL99 и SQL 2003. Кроме того, GaussDB(DWS) совместим с другими экосистемами баз данных, такими как PostgreSQL, Oracle, Teradata и MySQL. Это делает её конкурентным вариантом для аналитики больших данных в петабайтных масштабах в различных отраслях.

Логическая архитектура кластера

Рисунок 1 показывает логическую архитектуру кластера GaussDB(DWS). Для получения подробной информации об экземпляре см Таблица 1.

Рисунок 1 логическая архитектура кластера


Таблица 1 Описание архитектуры кластера

Имя

Функция

Описание

Менеджер кластера (CM)

Менеджер кластера. Он управляет и контролирует состояние работы функциональных блоков и физических ресурсов в распределённой системе, обеспечивая стабильность системы.

CM состоит из CM Agent, OM Monitor и CM Server.

  • CM Agent контролирует состояние работы основных и резервных GTM, CN и основных и резервных DN на хосте и передаёт статус в CM Server. Кроме того, он выполняет арбитражную инструкцию, полученную от CM Server. Процесс CM Agent запускается на каждом хосте.
  • OM Monitor контролирует запланированные задачи CM Agent и перезапускает CM Agent, когда тот останавливается. Если CM Agent не может быть перезапущен, хост использовать нельзя. В этом случае необходимо вручную исправить эту ошибку.
    NOTE:

    CM Agent не может быть перезапущен, вероятно из‑за недостаточных системных ресурсов, что является редкой ситуацией.

  • CM Server проверяет, нормальна ли текущая система, исходя из статуса экземпляра, сообщённого CM Agent. В случае исключений CM Server передаёт команды восстановления CM Agent.

GaussDB(DWS) предоставляет решение primary/standby CM Server для обеспечения HA системы. CM Agent подключается к primary CM Server. Если primary CM Server неисправен, standby CM Server продвигается в primary, чтобы предотвратить single point of failure (SPOF).

Глобальный менеджер транзакций (GTM)

Генерирует и поддерживает глобально уникальную информацию, такую как идентификатор транзакции, снимок транзакции и временную метку.

Кластер включает только одну пару GTM: один primary GTM и один standby GTM.

Менеджер нагрузки (WLM)

Менеджер нагрузки. Он контролирует распределение системных ресурсов, чтобы предотвратить перегрузку сервиса и сбой системы, вызванный избыточной нагрузкой.

Не требуется указывать имена хостов, где будет развернут WLM, поскольку программа установки автоматически устанавливает WLM на каждый хост.

Координатор (CN)

CN получает запросы доступа от приложений и возвращает результаты выполнения клиенту; разбивает задачи и распределяет фрагменты задач между различными DN для параллельной обработки.

CN в кластере имеют эквивалентные роли и возвращают одинаковый результат для одинакового DML‑оператора. Балансировщики нагрузки могут быть добавлены между CN и приложениями, чтобы обеспечить прозрачность CN для приложений. Если CN неисправен, балансировщик нагрузки автоматически подключает приложение к другому CN. Для подробностей см раздел "Associating and Disassociating ELB".

CN необходимо соединять друг с другом в распределённой транзакционной архитектуре. Чтобы снизить большую нагрузку, вызываемую избыточными потоками на GTMs, в кластере не следует настраивать более 10 CN.

GaussDB(DWS) обрабатывает глобальную нагрузку ресурсов в кластере, используя Центральный координатор (CCN) для адаптивного динамического управления нагрузкой. При первом запуске кластера CM выбирает CN с наименьшим ID в качестве CCN. Если CCN неисправен, CM заменяет его новым.

Datanode (DN)

DN хранит данные в режиме row-store, column-store или гибридном, выполняет задачи запросов данных и возвращает результаты выполнения CN.

В кластере несколько DN. Каждый DN хранит часть данных. GaussDB(DWS) обеспечивает высокую доступность DN: active DN, standby DN и secondary DN. Принципы работы этих трёх описаны ниже:

  • Во время синхронизации данных, если активный DN внезапно выходит из строя, резервный DN переключается в активное состояние.
  • До восстановления неисправного активного DN новый активный DN синхронизирует журналы данных со вторичным DN.
  • После восстановления неисправного активного DN он становится резервным DN и использует журналы данных, хранящиеся на вторичном DN, для восстановления данных, сгенерированных во время его сбоя.

Вторичный DN используется исключительно как Бэкап, никогда не переходя в состояние активного или резервного в случае сбоев. Он экономит место, хранит только данные Xlog, переданные от нового активного DN, и данные, реплицированные во время отказов оригинального активного DN. Такой эффективный подход экономит одну треть объёма хранения по сравнению с традиционными методами три‑Бэкап.

Хранилище

Функционирует как локальные ресурсы хранилища сервера для постоянного сохранения данных.

-

DNs в кластере хранят данные на дисках. Рисунок 2 логически описывает объекты на каждом DN и взаимосвязи между ними.

  • База данных управляет различными объектами данных и изолирована от других баз данных.
  • Сегмент файла данных хранит данные только в одной таблице. Таблица, содержащая более 1 ГБ данных, хранится в нескольких сегментах файлов данных.
  • Таблица принадлежит только одной базе данных.
  • Блок является базовой единицей управления базой данных, с размером по умолчанию 8 КБ.

Данные могут распределяться в режимах репликации, round-robin или хеш. Вы можете указать режим распределения при создании таблицы.

Рисунок 2 Логическая архитектура базы данных


Архитектура совместного хранения и вычислений

GaussDB(DWS) использует архитектуру shared-nothing и движок массовой параллельной обработки (MPP), и состоит из многочисленных независимых логических узлов, которые не разделяют системные ресурсы, такие как CPUs, память и хранилище. В такой системной архитектуре сервисные данные отдельно хранятся на множестве узлов. Задачи анализа данных выполняются параллельно на узлах, где данные хранятся. Массовая параллельная обработка данных существенно повышает скорость отклика.

Рисунок 3 Архитектура


  • Уровень приложения

    Инструменты загрузки данных, инструменты извлечения, трансформации и загрузки (ETL), инструменты бизнес‑аналитики (BI), а также инструменты добычи данных и анализа могут быть интегрированы с GaussDB(DWS) через стандартные API. GaussDB(DWS) совместим с экосистемой PostgreSQL, и синтаксис SQL совместим с Oracle и Teradata. Приложения могут быть плавно перенесены на GaussDB(DWS) с небольшими изменениями.

  • API

    Приложения могут подключаться к GaussDB(DWS) через стандартные JDBC и ODBC.

  • GaussDB(DWS)

    Кластер GaussDB(DWS) содержит узлы одного и того же флейвора в одной подсети. Эти узлы совместно предоставляют услуги. Datanodes (DNs) в кластере хранят данные на дисках. CNs, или Координаторы, получают запросы доступа от клиентов и возвращают результаты выполнения. Они также разделяют и распределяют задачи между Datanodes (DNs) для параллельного выполнения.

  • Автоматический бэкап данных

    Снапшоты кластера могут автоматически бэкапиться в Object Storage Service (OBS) уровня EB, что облегчает периодический бэкап кластера в непиковые часы, обеспечивая восстановление данных после возникновения исключения кластера.

    Снапшот — это полный Бэкап GaussDB(DWS) в указанный момент времени. Он записывает все данные конфигурации и данные сервиса кластера в указанный момент.

  • Цепочка инструментов

    Предоставляются инструмент параллельной загрузки данных General Data Service (GDS), инструмент миграции синтаксиса SQL Database Schema Convertor (DSC) и инструмент разработки SQL Data Studio. O&M кластера можно мониторить в консоли.