在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:PolarDB-for-PostgreSQL开源软件地址:https://gitee.com/mirrors/PolarDB-for-PostgreSQL开源软件介绍:什么是 PolarDB for PostgreSQLPolarDB for PostgreSQL(下文简称为 PolarDB)是一款阿里云自主研发的云原生数据库产品,100% 兼容 PostgreSQL,采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力。
PolarDB 还支持时空、GIS、图像、向量、搜索、图谱等多模创新特性,应对企业对数据处理日新月异的需求。 分支说明
产品架构和版本规划PolarDB 采用了基于 Shared-Storage 的存储计算分离架构。数据库由传统的 Share-Nothing 架构,转变成了 Shared-Storage 架构。由原来的 N 份计算 + N 份存储,转变成了 N 份计算 + 1 份存储。虽然共享存储上数据是一份,但是数据在各节点内存中的状态是不同的,需要通过内存状态的同步来维护数据的一致性;同时主节点在刷脏时也需要做协调,避免只读节点读取到超前的 “未来页面”,也要避免只读节点读取到过时的没有在内存中被正确回放的 “过去页面”。为了解决该问题,PolarDB 创造性地设计了 LogIndex 数据结构来维护页面的回放历史,该结构能够实现主节点与只读节点之间的同步。 在存储计算分离后,I/O 单路延迟变大的同时,I/O 的吞吐也变大了。在处理分析型查询时,仅使用单个只读节点无法发挥出存储侧的大 I/O 带宽优势,也无法利用其他只读节点的 CPU、内存和 I/O 资源。为了解决该问题,PolarDB 研发了基于 Shared-Storage 的并行执行引擎,能够在 SQL 级别上弹性利用任意数目的 CPU 来加速分析查询,支持 HTAP 的混合负载场景。 快速入门如果您正在使用一个干净的 CentOS 7 系统,且正以一个非 root 用户登录,那么您可以使用以下最小化编译部署方式快速尝鲜 PolarDB for PostgreSQL。 # install extra software sourcesudo yum install epel-release centos-release-scl# updatesudo yum update# install minimal dependenciessudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ \ devtoolset-9-gdb devtoolset-9-make \ bison flex perl-IPC-Run# enable GCC 9sudo bash -c 'echo "source /opt/rh/devtoolset-9/enable" >> /etc/bashrc'source /etc/bashrc# building./polardb_build -m 进入 $HOME/tmp_basedir_polardb_pg_1100_bld/bin/psql -h 127.0.0.1psql (11.9)Type "help" for help.postgres=# select version(); version -------------------------------- PostgreSQL 11.9 (POLARDB 11.9)(1 row) 对于更多进阶部署方式,请移步在线文档中的 快速入门指南。推荐使用 基于单机存储的部署方式 + Docker 开发镜像 部署 PolarDB for PostgreSQL。 文档请移步本项目的 在线文档网站 查阅完整文档。 如果需要在本地预览或开发文档,请参考 贡献文档。 参与贡献我们诚挚欢迎社区参与 PolarDB 的贡献,无论是代码还是文档。在线文档中的 参与社区 提供了关于贡献流程与规范的更多信息。 Software LicensePolarDB 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. 致谢部分代码和设计思路参考了其他开源项目,例如:PG-XC/XL (pgxc_ctl)、TBase (部分基于时间戳的 vacuum 和 MVCC)、Greenplum 以及 Citus (pg_cron)。感谢以上开源项目的贡献。 联系我们
Copyright © Alibaba Group, Inc. |
请发表评论