Компания Alibaba открыла код распределённой СУБД PolarDB, основанной на PostgreSQL
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Alibaba, одна из крупнейших китайских IT-компаний, открыла исходные тексты распределённой СУБД PolarDB, основанной на PostgreSQL. PolarDB расширяет возможности PostgreSQL средствами для распределённого хранения данных с обеспечением целостности и поддержкой ACID-транзакций в контексте всей глобальной базы данных, разнесённой по разным узлам кластера. PolarDB также поддерживает распределённую обработку SQL-запросов, обеспечение отказоустойчивости и избыточное хранение данных для восполнения информации после выхода из строя одного или нескольких узлов. При необходимости расширения хранилища достаточно просто добавить в кластер новые узлы. Код открыт под лицензией Apache 2.0.
PolarDB состоит из двух составных частей - расширений и набора патчей к PostgreSQL. Патчи расширяют возможности ядра PostgreSQL, а расширения включают компоненты, реализованные отдельно от PostgreSQL, такие как механизм распределённого управления транзакциями, глобальные сервисы, обработчик распределённых SQL-запросов, дополнительные метаданные, инструменты для управления кластером, развёртывания кластера и упрощения переноса в него существующих систем.
Патчи добавляют в ядро PostgreSQL распределённый вариант механизма управления параллельным доступом к данным при помощи многоверсионности (MVCC, Multiversion concurrency control) для разных уровней изоляции. Большая часть функциональности PolarDB вынесена в расширения, что снижает зависимость от PostgreSQL и упрощает обновление и внедрение решений на базе PolarDB (упрощается переход на новые версии PostgreSQL и поддержание полной совместимости с PostgreSQL). Для управления кластером применяется инструментарий pgxc_ctl, основанный на аналогичной утилите от PostgreSQL-XC и PostgreSQL-XL.
В кластере выделяется три базовых компонента: узлы БД (DN), менеджер кластера (CM) и сервис управления транзакциями (TM). Дополнительно может быть задейсвован прокси-балансировщик нагрузки. Каждый из компонентов является отдельным процессом и может быть запущен на разном сервере. Узлы БД обслуживают SQL-запросы от клиентов и одновременно выступают координаторами распределённого выполнения запросов с участием других узлов БД. Менеджер кластера отслеживает состояние каждого узла БД, хранит конфигурацию кластера и предоставляет инструменты для управления, резервного копирования, балансировки нагрузки, обновления, запуска и остановки узлов. Сервис управления транзакциями отвечает за поддержание общей целостности во всём кластере.
PolarDB базируется на архитектуре распределённых вычислений Shared-nothing, в соответствии с которой данные распределяются при хранении на разные узлы, без применения общего для всех узлов хранилища, и каждый узел отвечает за привязанную к нему порцию данных и выполняет связанные с данными запросы. Каждая таблица сегментируется на части (sharding) с применением хэширования по первичному ключу. Если запрос охватывает данные, размещённые на разных узлах, для обеспечения атомарности, согласованности, изолированности и надёжности (ACID) подключается механизм распределённого выполнения транзакций и координатор транзакций.
Для обеспечения отказоустойчивости каждый сегмент реплицируется как минимум на три узла. Для экономии ресурсов полные данные включают только две реплики, а одна ограничивается хранением лога отложенной записи (WAL). Один из двух узлов с полными репликами выбирается в качестве лидера и участвует в обработке запросов. Второй узел выступает запасным для рассматриваемого сегмента данных, а третий принимает участие в выборе лидирующего узла и может использоваться для восстановления информации в случае выхода из строя двух узлов с полными репликами. Репликация данных между узлами кластера организована с использованием алгоритма Paxos, обеспечивающего согласованное определение консенсуса в сети с потенциально ненадёжными узлами.
Отмечается, что полную функциональность СУБД PolarDB планируется раскрыть в течение трёх выпусков: В первой версии будет опубликованы средства репликации, обеспечения высокой доступности и управления кластером. Во втором выпуске будет реализована система распределённого выполнения транзакций, поддерживающая ACID на уровне разных узлов и распределённое выполнение SQL. В третьем выпуске появится плагин к PostgreSQL и средства для гибкого распределения данных по узлам, включая адаптивное размещение сегментов для достижения оптимальной производительности и возможность расширения кластера через добавление новых узлов.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://news.ycombinator.com/i...)
- OpenNews: Первый публичный выпуск распределённой файловой системы JuiceFS
- OpenNews: Компания Alibaba открыла код P2P-системы доставки файлов Dragonfly
- OpenNews: Для PostgreSQL подготовлено дополнение AGE для хранения данных в форме графа
- OpenNews: Релиз СУБД PostgreSQL 13
- OpenNews: Опубликован Kubegres, инструментарий для развёртывания кластера PostgreSQL
Похожие новости:
- [PostgreSQL, API, Визуализация данных] Визуализация аналитики APIM Gravitee в Grafana
- [Oracle] SQLPlus: Reading traces and incident files
- [Облачные вычисления, Big Data] От базы данных к озеру данных: принципиальные различия между двумя технологиями (перевод)
- Опубликована СУБД immudb 1.0, обеспечивающая защиту от искажения данных
- [Open source, PostgreSQL] pgSCV — экспортер метрик для PostgreSQL
- [Oracle, PostgreSQL, Администрирование баз данных] «Росатом» переносит огромную финансовую ИТ-систему с Oracle на Postgres Pro
- [Open source, Системное администрирование, PostgreSQL, IT-инфраструктура] Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2
- [Системное администрирование, PostgreSQL, Администрирование баз данных] Что нового в плане мониторинга в PostgreSQL 14
- [PostgreSQL, Администрирование баз данных] Этюд — копированию баз данных PostgreSQL без использования pg_dump
- Обновление PostgreSQL с устранением уязвимостей
Теги для поиска: #_polardb, #_alibaba (Аlibaba), #_postgresql, #_database
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 21:51
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Alibaba, одна из крупнейших китайских IT-компаний, открыла исходные тексты распределённой СУБД PolarDB, основанной на PostgreSQL. PolarDB расширяет возможности PostgreSQL средствами для распределённого хранения данных с обеспечением целостности и поддержкой ACID-транзакций в контексте всей глобальной базы данных, разнесённой по разным узлам кластера. PolarDB также поддерживает распределённую обработку SQL-запросов, обеспечение отказоустойчивости и избыточное хранение данных для восполнения информации после выхода из строя одного или нескольких узлов. При необходимости расширения хранилища достаточно просто добавить в кластер новые узлы. Код открыт под лицензией Apache 2.0. PolarDB состоит из двух составных частей - расширений и набора патчей к PostgreSQL. Патчи расширяют возможности ядра PostgreSQL, а расширения включают компоненты, реализованные отдельно от PostgreSQL, такие как механизм распределённого управления транзакциями, глобальные сервисы, обработчик распределённых SQL-запросов, дополнительные метаданные, инструменты для управления кластером, развёртывания кластера и упрощения переноса в него существующих систем. Патчи добавляют в ядро PostgreSQL распределённый вариант механизма управления параллельным доступом к данным при помощи многоверсионности (MVCC, Multiversion concurrency control) для разных уровней изоляции. Большая часть функциональности PolarDB вынесена в расширения, что снижает зависимость от PostgreSQL и упрощает обновление и внедрение решений на базе PolarDB (упрощается переход на новые версии PostgreSQL и поддержание полной совместимости с PostgreSQL). Для управления кластером применяется инструментарий pgxc_ctl, основанный на аналогичной утилите от PostgreSQL-XC и PostgreSQL-XL. В кластере выделяется три базовых компонента: узлы БД (DN), менеджер кластера (CM) и сервис управления транзакциями (TM). Дополнительно может быть задейсвован прокси-балансировщик нагрузки. Каждый из компонентов является отдельным процессом и может быть запущен на разном сервере. Узлы БД обслуживают SQL-запросы от клиентов и одновременно выступают координаторами распределённого выполнения запросов с участием других узлов БД. Менеджер кластера отслеживает состояние каждого узла БД, хранит конфигурацию кластера и предоставляет инструменты для управления, резервного копирования, балансировки нагрузки, обновления, запуска и остановки узлов. Сервис управления транзакциями отвечает за поддержание общей целостности во всём кластере. PolarDB базируется на архитектуре распределённых вычислений Shared-nothing, в соответствии с которой данные распределяются при хранении на разные узлы, без применения общего для всех узлов хранилища, и каждый узел отвечает за привязанную к нему порцию данных и выполняет связанные с данными запросы. Каждая таблица сегментируется на части (sharding) с применением хэширования по первичному ключу. Если запрос охватывает данные, размещённые на разных узлах, для обеспечения атомарности, согласованности, изолированности и надёжности (ACID) подключается механизм распределённого выполнения транзакций и координатор транзакций. Для обеспечения отказоустойчивости каждый сегмент реплицируется как минимум на три узла. Для экономии ресурсов полные данные включают только две реплики, а одна ограничивается хранением лога отложенной записи (WAL). Один из двух узлов с полными репликами выбирается в качестве лидера и участвует в обработке запросов. Второй узел выступает запасным для рассматриваемого сегмента данных, а третий принимает участие в выборе лидирующего узла и может использоваться для восстановления информации в случае выхода из строя двух узлов с полными репликами. Репликация данных между узлами кластера организована с использованием алгоритма Paxos, обеспечивающего согласованное определение консенсуса в сети с потенциально ненадёжными узлами. Отмечается, что полную функциональность СУБД PolarDB планируется раскрыть в течение трёх выпусков: В первой версии будет опубликованы средства репликации, обеспечения высокой доступности и управления кластером. Во втором выпуске будет реализована система распределённого выполнения транзакций, поддерживающая ACID на уровне разных узлов и распределённое выполнение SQL. В третьем выпуске появится плагин к PostgreSQL и средства для гибкого распределения данных по узлам, включая адаптивное размещение сегментов для достижения оптимальной производительности и возможность расширения кластера через добавление новых узлов. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 21:51
Часовой пояс: UTC + 5