ITPub博客

首页 > 数据库 > 国内数据库 > 快速理解QianBase xTP分布式存储管理引擎

快速理解QianBase xTP分布式存储管理引擎

原创 国内数据库 作者:易鲸捷数据库 时间:2023-07-13 14:33:58 0 删除 编辑

QianBase xTP的分布式存储管理引擎(DSE Distributed Storage Engine)是一种用于管理和存储大规模数据的系统。它提供了一系列用于存储、管理和处理数据的功能。

一、分布式存储工作机制

QianBase xTP的分布式存储管理引擎可以将数据分布在多个节点上,以提高可扩展性和容错性。其写入数据过程可分为以下几步:

客户端连接

应用程序使用 QianBase xTP 提供的驱动程序或客户端库与数据库建立连接,支持PostgreSQL 协议。

SQL 语句解析和优化

应用程序发送 SQL 语句到 QianBase xTP。QianBase xTP 的 SQL 解析器解析 SQL 语句并进行查询优化。

范围空间路由

QianBase xTP 使用范围路由来确定 SQL 语句应该在哪个节点上执行。

事务处理

如果 SQL 语句是在一个事务中执行的,QianBase xTP 会为该事务分配一个全局仅有的事务标识符。事务通过在副本之间协调写入操作来确保 ACID(原子性、一致性、隔离性和持久性)属性。

写入操作

QianBase xTP 使用 Raft 协议将写入操作从主节点复制到副本节点。主节点负责协调副本节点的写入操作,并通过 Raft 协议中的多数派确认机制来确保强一致性。

写入持久化

一旦写入操作被 Raft 协议确认,QianBase xTP 将数据写入持久化存储,通常是SSD磁盘。

响应客户端

QianBase xTP 将写入操作的结果返回给客户端。客户端可以根据需要处理返回的结果。

二、数据一致性

QianBase xTP的分布式存储管理引擎通过使用一致性协议(Raft)来确保数据在分布式环境中的一致性。Raft算法的核心思想是将集群中的节点划分为三种角色:领头者(leader)、跟随者(follower)和候选者(candidate)。

领头者选举

在集群启动或 领头者节点故障时,候选者节点可以发起选举来成为新的 领头者。候选者会向其他节点发送选举请求,并收集足够的选票以成为 领头者。

图:候选者会向其他节点发送选举请求

图:follower同意候选者为 领头者

图:候选者成为了 领头者,就可以对follower发送指令,如:日志复制

日志复制

领头者节点接收到客户端的写入请求后,将该请求追加到自己的日志中,并向其他节点发送日志复制请求。其他节点接收到请求后,将该日志条目写入自己的日志,并向 领头者发送确认消息。

图:leader对follower发送指令复制日志“hello,esgyn”

图:follower复制完成后向leader发送确认消息

提交和应用

当 领头者节点确定大多数节点已成功复制了某个日志条目时,它将该条目标记为已提交,并将其应用到自己的状态中。然后, 领头者会通知其他节点执行相同的操作,以确保所有节点的状态保持一致。

一致性保证

Raft算法只有在大多数节点成功复制了日志条目并提交后,该操作才被视为已提交。

三、数据分区

Range和副本分配

QianBase xTP将数据划分为多个Range,并将每个范围的多个副本分配给不同的节点。每个范围有一个主副本和多个副本,主副本负责协调数据的读写操作。

分区迁移

根据负载评估和决策,QianBase xTP会触发分区迁移操作。

迁移过程中的负载控制

在进行分区迁移时,QianBase xTP会采取一些措施来控制迁移过程中的负载影响。例如,可以限制并发的迁移操作数量,控制数据复制的速率等。

四、扩展性和弹性

水平扩展

QianBase xTP支持水平扩展,允许在集群中添加新的节点来扩大数据库的容量和吞吐量。

图:传统的纵向扩展,代价昂贵

图:用廉价机器水平扩展,成本更低

数据分片

QianBase xTP 将数据分为多个范围(Range),每个范围包含一定范围的数据。QianBase xTP 使用 Raft 协议来复制和分布数据。

数据复制和冗余

QianBase xTP的分布式存储管理引擎使用多副本机制来提供数据的冗余和高可用性, QianBase xTP支持指定副本数(默认情况下,系统表5副本,用户表3副本),多个副本存储在不同的节点上,当某个节点故障时,数据仍然可以从其他副本节点读取和写入,保证数据的可用性。

弹性恢复

QianBase xTP集群具备自动故障检测和恢复的能力。

五、小结

分布式存储管理引擎负责读取和写入数据到磁盘,提供数据操作接口、数据副本位置管理和副本数据复制功能。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026636/viewspace-2963973/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
贵州易鲸捷信息技术有限公司成立于2015年,是一家拥有核心数据库技术的“专精特新”企业,是国内率先开展“银行核心交易系统”试点工作的数据库厂商,更是全球最早推出下一代融合型分布式数据库的公司。自主研发的QianBase产品可满足银行90%以上业务场景需求,推动了金融信创产业发展。

注册时间:2023-02-10

  • 博文量
    23
  • 访问量
    16751