PolarDB for PostgreSQL,简称“PolarDB-PG”,是阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载。
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
PolarDB for PostgreSQL
A cloud-native database developed by Alibaba Cloud
English | 简体中文
Overview
PolarDB for PostgreSQL (hereafter simplified as PolarDB) is a cloud native database service independently developed by Alibaba Cloud. This service is 100% compatible with PostgreSQL and uses a shared-storage-based architecture in which computing is decoupled from storage. This service features flexible scalability, millisecond-level latency and hybrid transactional/analytical processing (HTAP) capabilities.
PolarDB provides a wide range of innovative multi-model database capabilities to help you process, analyze, and search for different types of data, such as spatio-temporal, geographic information system (GIS), image, vector, and graph data.
Branch Introduction
The
POLARDB_11_STABLEis the stable branch based on PostgreSQL 11.9, which supports compute-storage separation architecture. Thedistributedbranch supports distributed architecture.Architecture and Roadmap
PolarDB uses a shared-storage-based architecture in which computing is decoupled from storage. The conventional shared-nothing architecture is changed to the shared-storage architecture. N copies of data in the compute cluster and N copies of data in the storage cluster are changed to N copies of data in the compute cluster and one copy of data in the storage cluster. The shared storage stores one copy of data, but the data states in memory are different. The WAL logs must be synchronized from the primary node to read-only nodes to ensure data consistency. In addition, when the primary node flushes dirty pages, it must be controlled to prevent the read-only nodes from reading future pages. Meanwhile, the read-only nodes must be prevented from reading the outdated pages that are not correctly replayed in memory. To resolve this issue, PolarDB provides the index structure LogIndex to maintain the page replay history. LogIndex can be used to synchronize data from the primary node to read-only nodes.
After computing is decoupled from storage, the I/O latency and throughput increase. When a single read-only node is used to process analytical queries, the CPUs, memory, and I/O of other read-only nodes and the large storage I/O bandwidth cannot be fully utilized. To resolve this issue, PolarDB provides the shared-storage-based MPP engine. The engine can use CPUs to accelerate analytical queries at SQL level and support a mix of OLAP workloads and OLTP workloads for HTAP.
For more information, see Architecture.
Quick Start with PolarDB
If you have Docker installed already,then you can pull the instance image of PolarDB for PostgreSQL based on local storage. Create, run and enter the container, and use PolarDB instance directly:
For more advanced deployment way, please refer to Advanced Deployment. Before your deployment, we recommand to figure out the architecture of PolarDB for PostgreSQL.
Documentation
Please refer to Online Documentation Website to see the whole documentations.
If you want to explore or develop documentation locally, see Document Contribution.
Contributing
You are welcome to make contributions to PolarDB, no matter code or documentation.
Here are the contributors:
Made with contrib.rocks.
Software License
PolarDB code is released under the Apache License (Version 2.0), developed based on the PostgreSQL which is released under the PostgreSQL License. This product contains various third-party components under other open source licenses.
See the LICENSE and NOTICE file for more information.
Acknowledgments
Some code and design ideas are based on other open source projects, such as PG-XC/XL (pgxc_ctl), TBase (Timestamp-based vacuum and MVCC), Greenplum and Citus (pg_cron). We thank the contributions of the preceding open source projects.
Join the Community
PolarDB PostgreSQL at Slack: https://app.slack.com/client/T023NM10KGE/C023VEMKS02
Use the DingTalk application to scan the following QR code and join the DingTalk group for PolarDB technology promotion.
Copyright © Alibaba Group, Inc.