基于Redis的一致性分析与改进

来源 :电子科技大学 | 被引量 : 12次 | 上传用户:yuhmmmmm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的发展,传统关系型数据库在海量数据存储、高可扩展性、高可用性等新需求下显现出自身局限性。NoSQL数据库因其模式自由、支持分布式、支持最终一致性等特性可以很好的应对这些互联网新需求。依据CAP理论,NoSQL数据库因无法避免网络分区,所以需要在保证分区容忍性的前提下尽可能提高一致性和可用性。NoSQL中的Redis数据库因开源、内存存储等特性获得学术界和产业界广泛关注。研究Redis数据库一致性是推动Redis发展必不可少的工作。本文不仅对Redis一致性进行详细分析,还对分析中发现的一致性问题提出改进措施并实现。一致性表现形式多样,本文重点研究Redis主节点和从节点的数据一致性。明确研究对象后,本文先从Redis架构、Redis数据复制实现、Redis数据一致性维护三个方面展开Redis一致性分析。然后,本文总结一致性维护中存在的一致性问题并设计测试用例重现之。最后本文对发现的一致性问题提出改进措施并实现:1.复制缓冲区写满问题:原生Redis使用的复制缓冲区逻辑上是一个静态环形队列。复制缓冲区备写满后,队尾数据会覆盖队头数据。一旦复制缓冲区中存储的待同步数据被覆盖,主节点和从节点只能执行一次完全同步。本文设计并实现一个新复制缓冲区替换原有复制缓冲区。新复制缓冲区实现同步数据零丢失,保证同步效率。新复制缓冲区使用缓冲区、文件索引等技术进一步优化数据读写效率。2.故障转移后数据同步低效问题:原生Redis在完成故障转移后,从节点会与新主节点进行一次完全同步,以保证与主节点数据一致性。如果故障发生前,新主节点(作为一个从节点)和其现有从节点隶属于同一个主节点,那么新主节点和这类从节点存储的数据大部分都相同。这种情况下主节点和从节点没有必要进行一次完全同步。优化的故障转移后数据同步策略,实现在上述情景执行部分同步。最后本文对改进后Redis进行测试。测试结果表明:改进后Redis不会对数据库读性能产生影响;改进Redis会少量降低数据库写性能;改进后Redis实现将某些场景下的完全同步过渡到部分同步,降低该场景下同步代价,加快主节点和从节点数据一致性收敛速度。
其他文献
本文首先介绍了压缩感知理论框架,着重回顾了压缩感知重构算法的研究和应用现状,针对其本质是l0范数问题,将对直线边缘稀疏表示性能好的脊波(Ridgelet)冗余字典和遗传进化(Ge
随着互联网技术的迅猛发展,网络逐渐覆盖到了社会生活的各个角落。在互联网环境中,传统的身份认证方法面临巨大的挑战,越来越无法适应实际应用环境的需求。在所有的身份认证
互联网技术的发展使信息以前所未有的速度增长和传播。随着网络数据爆炸式的增长,在网络中快速、准确地定位到自己想要查询的信息成为Web搜索领域的一项挑战。尤其是在赞助商
欠费现象已成为世界各国邮政业的一大顽疾,邮政企业在业务收入快速增长的同时,用户欠费也逐年增多。对欠费的有效控制和管理也就成了众多公共事业大型企业急需解决的重要课题。
异常检测技术是一种重要的数据挖掘手段,被广泛应用于信用卡诈骗检测、入侵检测、疾病检测等各个领域。目前国内外研究学者从距离、密度、聚类等角度出发,提出了各种异常检测
Spiking神经网络作为新一代人工神经网络,其时间编码的计算优势使其在研究领域的影响力与日俱增。在视觉神经系统的模拟层面,建立恰当的计算模型以模拟视网膜神经元的图像特征
变电站作为电网中电力中转的重要节点,担负着电压转换和电能分配的重要任务,变电站能否准确、安全、可靠地运行事关整个电网的安全和稳定。基于IEC61850标准的数字化变电站采用以太网进行架构,一般网络所面临的安全威胁,数字化变电站网络同样需要面对,特别是GOOSE报文对实时性和安全性都提出了极高的要求,因此如何在新形势下保障变电站报文传输安全就成为一项亟待解决的问题。针对以上问题,本文做了以下几个方面
为深入研究生物大脑处理信息以及学习的能力,研究者们提出了人工神经网络,用来模仿大脑信息表达以及处理的过程,而其中具有最高仿生性的是脉冲神经网络,它表达信息以及处理信
颜色是人们识别图像的主要感知特征,在模式识别与计算机视觉领域发挥了重要的作用。随着科学技术的发展以及计算机处理能力的提高,处理高维彩色图像数据成为了可能,因此彩色
众所周知,在计算机视觉和模式识别学科内,人脸识别是一个被研究很广泛的课题。如何找到一些行之有效的人脸特征来描述人脸是人脸识别技术的核心问题,现阶段成熟的人脸识别算