阿里巴巴发布PolarDB源码

阿里巴巴发布 几天前 已决定发布源代码 您的分布式数据库管理系统 “极地数据库” 基于PostgreSQL,代码公开 在Apache 2.0许可下。

对于不熟悉PolarDB的人来说,你应该知道 这是一个关系数据库 基于阿里巴巴开发的云, 扩展 PostgreSQL 功能 用于在整个全局数据库的上下文中具有完整性和支持 ACID 事务的分布式数据存储,分布在不同的集群节点上。

POLARDB也是 支持分布式SQL查询处理,提供容错和冗余数据存储,以在一个或多个节点故障后补充信息。 如果您需要扩展存储,只需向集群添加新节点即可。

极地数据库 由两部分组成: PostgreSQL 的扩展和一组补丁. 这些补丁扩展了 PostgreSQL 核心的功能,扩展包括与 PostgreSQL 分开实现的组件,例如分布式事务管理机制、全局服务、分布式 SQL 查询处理器、附加元数据、管理集群的工具、实现集群以及简化现有系统向它的迁移。

补丁添加了分布式版本的多版本并发控制机制 (MVCC) 到 PostgreSQL 核心以获得不同的隔离级别。 PolarDB 的大部分功能已移至扩展中,这减少了对 PostgreSQL 的依赖,并简化了基于 POLARDB 的解决方案的升级和部署(简化了向新版本 PostgreSQL 的过渡并保持了 PostgreSQL 的完整兼容性)。

有三个基本组成部分 在集群中: 数据库节点 (DN)、集群管理器 (CM) 和事务管理服务 (TM), 此外,可能涉及代理负载平衡器。 每个组件都是一个单独的进程,可以在不同的物理服务器上运行。 数据库节点为客户端 SQL 查询提供服务,同时在其他数据库节点的参与下充当分布式查询执行的协调器。

集群管理员监控每个数据库节点的状态, 存储集群配置并提供用于管理、备份、负载平衡、更新、启动和停止节点的工具。 事务管理服务负责维护整个集群的整体完整性。

POLARDB基于Shared-nothing分布式计算架构,数据在存储过程中分布到不同的节点,所有节点不使用公共存储,每个节点负责链接到它的那条数据,并执行相关的查询数据。

每个表都使用主键散列进行分段。 如果请求覆盖位于不同节点的数据,则分布式事务执行引擎和事务协调器相连,以确保原子性、一致性、隔离性和可靠性(ACID)。

为确保容错,每个段至少跨三个节点复制。 为了节省资源,完整数据只包括两个副本,一个仅限于存储后写日志(WAL)。 选择两个全副本节点中的一个作为leader参与请求处理,第二个节点作为正在考虑的数据段的备用节点,第三个参与主节点的选择,可以用于恢复具有完整副本的两个节点发生故障时的信息。

集群节点之间的数据复制是使用 Paxos 算法组织的,该算法可确保在具有潜在不可信节点的网络中达成一致的共识决定。 需要注意的是,PolarDB DBMS 的全部功能计划在三个版本中发布。

最后,如果您有兴趣了解更多信息,可以咨询 以下链接中的详细信息。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。