详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

本文将列举几个典型的锁技术的使用场景,帮助读者更好的理解K-DB的具体运行机制,最后本文也会用测试数据来证明K-DB锁的高效性和稳定性。

在前三篇文章中,已经完成了对K-DB所技术的完整概述,包括K-DB基本架构、锁技术的存储、构成、运行机制等,读者至此应该对K-DB锁相关技术已经有了完整的了解。锁技术的最终的目的是协调冲突资源的使用,本文将列举几个典型的锁技术的使用场景,帮助读者更好的理解K-DB的具体运行机制,最后本文也会用测试数据来证明K-DB锁的高效性和稳定性。

K-DB锁的典型使用场景

不同级别和条件,不同的insane,锁的申请和使用都有所区别,下面我们以一个3节点K-DB集群为例,来看具体的使用场景。

测试场景一:A节点需要改写一个数据块,且该节点之前并没有被访问过。该数据块的master节点是B,具体执行步骤

  1. A节点向master(B节点)节点申请数据块的X锁。
  2. Master(B节点)查看发现该数据块之前并没有被访问过,不存在锁兼容的问题。直接将X锁赋给A节点。A节点和Master节点都会记录当前A节点对该数据块持有X锁。
  3. 节点获取X锁后,直接从磁盘上读取数据,进入节点。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

场景二:继续场景一,此时C节点也希望以X锁的方式访问该数据块。整个的处理流程如下:

  1. C节点向Master节点(B)申请X锁。
  2. Master节点发现该数据块的锁正在被A以X模式占用。发送block命令,让A节点将X降为N。
  3. A节点收到命令后,将锁降为N,同时通知Master节点和将锁赋给C节点。
  4. 将数据块从A节点的实例中通过内网直接传送到C节点中。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

场景三:继续场景一,此时节点C希望传送一个CR(一致性读)块。处理流程如下:

  1. C节点向Master(B节点)申请CR块。
  2. Master(B节点)发现当前块正在A节点上。向A节点发送命令,构造CR块。
  3. A节点收到命令后,构造对应的CR块,然后通过内网传送给C节点。
  4. 此时Master节点中记录的锁信息,没有发生任何变化。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

故障恢复场景:在上面的测试过程中,当某一个节点A发生故障后,数据库的恢复流程如下:

  1. 停止所有数据库的对外服务,读取A节点的redo日志。
  2. 从A节点的redo中,找到最近一次的checkpoint点,然后开始进行恢复。
  3. 对于需要恢复的数据块,找到其对应的PI块。当redo日志中的SCN号小于PI块的SCN时,该日志记录无需进行恢复,直到redo日志中的SCN大于PI块的SCN时,才会进行恢复。当所有的redo日志都恢复完成后,数据块才会开始对外进行服务。
  4. K-DB数据库在最新版本中,实现了多节点并行恢复的功能。也就是当某一个节点down掉后,其他的几个节点一起进行恢复,大大提升了恢复的效率和总的时间。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

K-DB专为天梭K1优化

K-RAC方案累计应用实例超过160个,在实际应用中部署的最大规模的K-RAC集群是4个节点,浪潮在实验室中测试过20个节点的K-RAC方案,性能提升依然有着相当的线性度。

下图是K-RAC集群从单节点到4节点时,性能提升的线性水平。

详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据 

用天梭K1 和K-DB搭建的数据库方案在优化前后,性能的对比十分明显。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

K-RAC支持多节点并行恢复,故障恢复比其他产品更快。下图是K-DB故障恢复方案,该方案用Benchmark SQL软件模拟了1000个用户、100个warehouse、10G数据量的测试用例,K-DB以RAC双机运行,人为拔出心跳线模拟故障后,数据库经过不到5秒的短暂波动,就恢复了对外服务。

 详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据

 K-DB不仅具有K-RAC,而且也采用了多进程多线程、多版本并发控制等领先的技术,性能、可靠性等与Oracle基本相当,而且K-DB全面支持主流数据库标准,迁移方便。用户从Oracle迁移到K-DB,相关应用系统几乎不需要改动,迁移过程大部分自动化完成,应用门槛很低。有效降低了用户的迁移风险和成本。北京市档案局档案数据库管理系统有6GB数据量,从Oracle到K-DB的迁移仅用了15分钟。

详解K-DB RAC集群下的锁机制管理(四) ——K-DB锁的典型使用场景以及相关测试数据 

K-DB具备高可用集群、异地容灾等高级功能,产品性能、可靠性与业界主流产品相当,可以广泛应用于大规模交易系统等企业关键业务场景。K-DB是专门为天梭K1定制和优化的数据库。目前,已在K1上验证了16000多个测试场景,包括自动化功能测试15000个,以及手动的功能或性能测试1000个。

同时浪潮为K-DB开发了完善的工具包,从异构数据库平台到K-DB的迁移工作,包括数据结构的比对、SQL语句检查等,都可以由工具软件自动完成,不仅有效降低了用户迁移的技术复杂度和工作量,也使得迁移风险更加可控。

目前,哈尔滨银行、内蒙古交通厅等用户已经完成了对该产品的测试,并即将在生产环境中采用。测试结果表明,K1+K-DB一体化解决方案经受住了用户复杂业务场景考验,可以承担更关键、规模更大的交易系统。

关键业务是浪潮的战略业务领域,从天梭K1关键应用主机到K-DB企业级数据库,围绕关键业务计算,浪潮提供给中国企业级用户多一种选择。K-DB凭借一键迁移、高可靠和高性能的产品特征,满足了用户对异构平台平滑安全迁移的现实需求,解决了制约中国企业信息化自主可控面临的重大现实问题。

来源:ZD至顶网服务器频道

0赞

好文章,需要你的鼓励

2016

08/05

10:03

分享

点赞

邮件订阅
白皮书