Alibaba выпустила исходный код PolarDB

Выпущена Alibaba Несколько дней назад приняли решение выпустить исходный код ваша распределенная система управления базами данных "ПоларДБ" который основан на PostgreSQL, код открыт под лицензией Apache 2.0.

Тем, кто не знаком с PolarDB, следует знать, что это реляционная база данных на основе облака, разработанного Alibaba, которое расширяет возможности PostgreSQL для распределенного хранения данных с целостностью и поддержкой транзакций ACID в контексте всей глобальной базы данных, распределенной по разным узлам кластера.

PolarDB тоже поддерживает распределенную обработку SQL-запросов, обеспечивая отказоустойчивость и избыточное хранилище данных для пополнения информации после выхода из строя одного или нескольких узлов. Если вам нужно расширить хранилище, просто добавьте новые узлы в кластер.

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

Патчи добавляют распределенную версию механизма управления многоверсионным параллелизмом. (MVCC) в ядро ​​PostgreSQL для разных уровней изоляции. Большая часть функциональности PolarDB была перенесена в расширения, что снижает зависимость от PostgreSQL и упрощает обновление и развертывание решений на основе PolarDB (упрощает переход на новые версии PostgreSQL и поддерживает полную совместимость с PostgreSQL).

Есть три основных компонента в кластере: узлы базы данных (DN), менеджер кластера (CM) и служба управления транзакциями (TM), Кроме того, может быть задействован балансировщик нагрузки прокси. Каждый из компонентов представляет собой отдельный процесс и может работать на разных физических серверах. Узлы базы данных обслуживают клиентские SQL-запросы и одновременно выступают координаторами выполнения распределенных запросов с участием других узлов базы данных.

Администратор кластера отслеживает состояние каждого узла базы данных, хранит конфигурацию кластера и предоставляет инструменты для управления, резервного копирования, балансировки нагрузки, обновления, запуска и остановки узлов. Служба управления транзакциями отвечает за поддержание общей целостности во всем кластере.

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

Каждая таблица фрагментирована с использованием хешей первичного ключа. Если запрос охватывает данные, расположенные на разных узлах, механизм выполнения распределенных транзакций и координатор транзакций подключаются для обеспечения атомарности, согласованности, изоляции и надежности (ACID).

Для обеспечения отказоустойчивости каждый сегмент реплицируется как минимум на три узла. Для экономии ресурсов полные данные включают только две реплики, а одна ограничена хранением журнала отложенной записи (WAL). Один из двух узлов полной реплики выбирается в качестве ведущего и участвует в обработке запроса, в то время как второй узел действует как резервный для рассматриваемого сегмента данных, а третий участвует в выборе основного узла и может использоваться для восстановления. информация в случае отказа двух узлов с полными репликами.

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

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


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

bool (истина)