美文网首页主题日更
数据存储服务器伸缩性设计

数据存储服务器伸缩性设计

作者: 船长1492 | 来源:发表于2018-12-01 19:20 被阅读0次

    数据存储服务器集群的伸缩性对数据的持久性和可用性提出了更高的要求。缓存的目的是加速数据读取的速度和减轻数据存储服务器的负载压力,而数据存储服务器需要保证数据的可靠性,任何情况下都需要保证数据的可用性和正确性。

    数据库分为两种关系型数据库和非关系型数据库。关系型数据库是由强大的sql和众多成熟的商业数据库产品组成关系型数据库都支持数据复制的功能。你my sql为例,数据写操作都在主服务器上,由主服务器将数据同步到集群中的重复器数据读操作及数据分析等离线操作,都是在从服务器上进行的。除了主从读写分离,业务分割模式也可以在数据库中进行不同的业务数据被部署到不同的数据库集群上,这就是通常所说的分库。除了丰富还可以对数据库进行分片,也就是将一张表分开分别存储在多个数据库中。通常的做法是在应用服务器和数据库之间建立一个代理服务器集群。这个代理服务器集群包含负载均衡的功能,以及代理服务器的功能。它作为应用程序和my sql数据库服务器集群的中间层。通过中间层负载均衡服务器对数据的分发可以把数据分发至不同的数据库中。当进行查询只需将数据库a和数据库b中的结果进行合并,既能返回原来的数据。

    由于该代理是无状态的应用服务器因此集权的伸缩可以简单的使用负载均衡的手段,向集群中添加服务器即可实现。而数据库中存储的数据,要想保证集群中扩容后数据一致的负载均衡必须要做数据迁移,将集群中原来机器中的数据迁移到新添加的机器中去,这可以通过一致性哈希算法实现但是迁移数据需要遍历数据库中的每一条记录,对数据库会造成一定的压力,并且需要解决迁移过程中的一致性,可访问性以及服务器宕机,使得可用性有很多问题。利用my sql数据库的同步功能进行数据复制以数据分段为单位赞美歌数据库实例中创建多个数据分段,当扩容的时候每个服务器迁移部分数据分段到新机器中。由于使用了一致性,哈希算法,迁移的数据对原数据库集群中的数据影响不大。

    非关系型数据库主要是指非关系的分布式的数据库设计模式。非关系数据库放弃了关于数据库的两大重要的基础,一个是以关系为基础的结构化查询语言和以及事务一致性保证。但是它强化了一些大型网站更关注的特性,也就是高可用性和可伸缩性。非关系型数据库,其支持的数据结构和伸缩性也各不相同。h base的伸缩性主要是以考核分列的hregion以及可伸缩的分布式文件系统hdfs实现了。

    相关文章

      网友评论

        本文标题:数据存储服务器伸缩性设计

        本文链接:https://www.haomeiwen.com/subject/gwvrcqtx.html