Введение в ветку
POLARDB_11_STABLE — стабильная ветка, основанная на PostgreSQL 11.9, которая поддерживает архитектуру с разделением вычислений и хранения данных. Ветка distributed поддерживает распределённую архитектуру.
Архитектура и план развития
PolarDB для PostgreSQL использует архитектуру на основе общего хранилища, в которой вычисления отделены от хранения. Обычная архитектура без совместного использования ресурсов изменена на архитектуру с общим хранилищем. N копий данных в вычислительном кластере и N копий данных в кластере хранения заменены на N копий данных в вычислительном кластере и одну копию данных в кластере хранилища. Общее хранилище хранит одну копию данных, но состояния данных в памяти различаются. Журналы WAL должны быть синхронизированы с основного узла на узлы только для чтения, чтобы обеспечить согласованность данных. Кроме того, когда основной узел сбрасывает грязные страницы, необходимо контролировать, чтобы узлы только для чтения не читали будущие страницы. Между тем, узлы только для чтения должны быть защищены от чтения устаревших страниц, которые неправильно воспроизведены в памяти. Чтобы решить эту проблему, PolarDB предоставляет структуру индекса LogIndex для ведения истории воспроизведения страниц. LogIndex можно использовать для синхронизации данных с основного узла на узлы только для чтения.
После отделения вычислений от хранения увеличивается задержка ввода-вывода и пропускная способность. Когда один узел только для чтения используется для обработки аналитических запросов, процессоры, память и ввод-вывод других узлов только для чтения и большая пропускная способность ввода-вывода хранилища не могут быть полностью использованы. Чтобы решить эту проблему, PolarDB предлагает многоузловой движок на основе общего хранилища. Движок может использовать процессоры для ускорения аналитических запросов на уровне SQL и поддерживать сочетание рабочих нагрузок OLAP и рабочих нагрузок OLTP для HTAP.
Для получения дополнительной информации см. Архитектура.
Быстрый старт с PolarDB
Если у вас уже установлен Docker, вы можете извлечь образ экземпляра PolarDB для PostgreSQL на основе локального хранилища. Создайте, запустите и войдите в контейнер и используйте экземпляр PolarDB напрямую:
# извлекаем образ экземпляра из DockerHub
docker pull polardb/polardb_pg_local_instance
# создаём, запускаем и входим в контейнер
docker run -it --rm polardb/polardb_pg_local_instance psql
# проверяем
postgres=# SELECT version();
version
--------------------------------
PostgreSQL 11.9 (POLARDB 11.9)
(1 row)
Для более продвинутого способа развёртывания обратитесь к Расширенное развёртывание. Перед развёртыванием рекомендуется изучить архитектуру PolarDB для PostgreSQL.
Разработка
Обратитесь к Руководству по разработке, чтобы скомпилировать и разработать PolarDB для PostgreSQL.
Документация
См. Веб-сайт онлайн-документации для просмотра всей документации.
Если вы хотите изучить или разработать документацию локально, см. Вклад в документацию.
Вклад
Вы можете внести свой вклад в PolarDB для PostgreSQL, будь то код или документация.
Вот участники:
Сделано с contrib.rocks.
Лицензия на программное обеспечение
Код PolarDB выпущен под лицензией Apache (версия 2.0), разработан на основе PostgreSQL, который выпущен под лицензией PostgreSQL. Этот продукт содержит различные сторонние компоненты под другими лицензиями с открытым исходным кодом.
Дополнительную информацию см. в файлах LICENSE и NOTICE.
Благодарности
Некоторые идеи кода и дизайна основаны на других проектах с открытым исходным кодом, таких как...
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )