分布式数据存储原理解析
2018-12-07施肖肖赖红武汉东湖学院
文/施肖肖 赖红,武汉东湖学院
在科技快速发展的今天,数据变得越来越重要,对于数据的处理和发掘已经到了极为重要的地位,分布式数据管理就是数据管理的核心技术之一,在分布式技术发展下,解决数据一致性的方法和技术也得到了不断的发展,此文就以作者在研发的分布式数据库中但实际案例来解析分布式数据库数据原理和一致性。
1 分布式数据存储的原理优越性
首先我们要了解分布式存储的数据存储与关系型数据库的数据存储,关系型数据存储是建立在相关模型之上的数据库,借用集合线性相关性数学的概念还处理数据,相当于现实中的实体与实体之间的各种联系。对于“科德十二定律”,当前虽然有很多人持反对立场,但是他还是数据存储的传统标准。关系模型的组成分为关系数据,关系操作以及关系完整性的约束。简而言之,关系型数据库就是相互链接可以形成二维表的数据库。
与此不同的是,分布式数据库是在高速网络的基础上使用一个逻辑方式将很多分散的数据单元连接在一起。它的基本思想改变原来的集中存储,改为分散式存储,从而获得了更大的存储容量,并且提高了并发性,随着信息量的爆炸式增长,信息的处理变得更加重要,从而满足需求的分布式数据库技术也有了飞跃,相对与关系型,分布式显得更加便捷。
2 如何保障数据数据的一致性
在传统的关系型中,对于数据安全性和一致性的保障,主要依靠硬件的提供,而且数据都是存储一份的,在其中,数据库是默认数据一致性没有问题的,这就存在很大的安全隐患。通过前面的原理认知,我们就会很容易理解为什么存在数据的一致性问题,在大数据疯狂发展的今天,他让系统的性能得到了指数式增长,而且,大数据技术的运行不需要很好的硬件条件,他可以通过大量的X86服务器和磁盘搭建一个集群,从而获得更好的计算能力和更大的存储空间,因为他的分布式,可以将任务分解,交由多个处理机和存储器共同完成,从而极大的提高了系统效率和能力,但是由于硬件要求低,也出现了数据安全的问题,其次由于多个处理机到处数据一致性也存在相关风险,对于此类问题,通常通常采用数据的同步或者异步来将数据保存在多台处理机上面来保证数据的安全和一致性。
3 分布式存储缓存的引入
在计算机的世界中,从硬件和软件两个层面来讲,缓存都是广泛被用于处理响应慢的问题。就算在构建服务器的时候也不例外,缓存是提升计算性能的关键技术之一。此外,在分布式存储中,缓存的存在也是有很大的性能提升,分布式缓存能处理任务量很大的动态数据,因此在WEB2.0中应用非常的广泛。 在以前的本地缓存中,主要着重与CPU、内存和缓存的数据传输关系。但是当前的分布缓存中,拓展到了业务、数据库和缓存的数据传输,传输的速度变得更加迅捷。 此外,在传统的业务中,初期的访问量很低,从而对响应时间的要求比较低,只需要DB就可以很好的解决需求问题。这种架构比较容易搭建,在初期时是个很好的解决方案,但是随着业务的拓展,对于响应的时间要求较高,便会出现很多问题,主要有一下几点:1、性能有限,很难满足数十倍百倍需求的上涨,尤其在互联网发展迅速的今天,这种情况很容易出现。2、成本较高,访问量的提升,主要依靠提高机器数量的满足需求,代价太高。3、难以从DS层面优化。
其次,从处理速度来说,内存的访问性能明显优于磁盘。把数据放入内存中,可以提供更快的读取效率。再考虑到互联网和二八原则的契合,通过引入缓存机制,将高频数据放入缓存器,可以很好的提升系统性能,缓存的引入具体的优点有一下几点:1、提升数据读取速度。2、系统承载能力提升。3、硬件成本降低。4、提高了系统的实效性,根据需求可以更高频次的刷新。 综上,我们引入分布式缓存技术。
4 基于redis的分布式缓存
Redis是一种应用广泛的KV内存数据库,和Memacached比较类似,支持数据的持久化的日志型,并且有多种语言的API。他的出现很好的解决了写的问题、可靠性需求、开发成本需求、维护性难等一系列问题。
在实际中的应用,redis应用与新浪微博中,其中绝大部分都是持久化的应用,很少一部分为缓存,在持久化的应用中,要考虑持久化和写性能的匹配和redis使用内存和硬盘写的速率的比例计算。Redis的工作原理,就是写log到一定的阶段再和内存交互,后添加,对性能的影响很小。面对在redis分布缓存中的数据一致性问题,由于长期运行后,多个结点可能存在不一致性,有两个解决方案,第一、对于数据量多的数据,进行定期全不检索。第二、对于增加的数据,会抽查是否有一致性问题。由于同步问题不一致的为延时问题,对于延时问题,我们可以从应用层增加策略以解决这些问题。
计算机界的科技迅速发展,几年前计算机兴起的时候,很多企业就在关注这个具有很高的可靠性、可用性以及高存储效率的分布式存储,到后来的大数据时代逐步体现了分布式存储的优势,存储的发展必然向着节能方面,然而分布式存储完全符合这一概念。在未来的发展发面,由李克强提出的“互联网+”计划,足以体现计算和数据的发展前景。并且,“互联网+”也对存储提出了一定的要求,首先就是存储要满足无所不在的计算机的要求,其次要满足无所不在的数据,最后要对应国产化的需求。在软件上采用自助研发的存储系统,实现完全自主研发。
由此,分布式存储技术的发展,也正好契合了中国国内的发展需求,国产存储必将迎来一个新的春天!
【参考文献】
[1]魏青松.《大规模分布式存储技术研究》[J].2013.
[2]舒敏.《分布式数据存储机制与优化方法研究》[J].2013.