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

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

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

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

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

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

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

相关文章

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

    数据存储服务器集群的伸缩性对数据的持久性和可用性提出了更高的要求。缓存的目的是加速数据读取的速度和减轻数据存储服务...

  • 数据存储服务器集群的伸缩性设计

    1、关系数据库集群的伸缩性设计 关系数据库凭借其简单强大的SQL和众多成熟的商业数据库产品,占据了从企业应用到网站...

  • 网站技术架构与性能优化(伸缩性架构)

    一.伸缩性设计模式 一).不同功能进行物理分离实现伸缩 应用服务器 => 数据库分离 => 缓存分离 => ...

  • 理解一致性哈希算法

    场景分析 在分布式缓存的伸缩性设计中,最主要的目标就是在新加入缓存服务器后,应该使整个服务器集群中已经缓存的数据尽...

  • cookie、sessionStorage和localStora

    cookie 介绍:早期设计用于服务端存储少量数据的,任何以cookie形式存储的数据,不论服务器端是否需要,每一...

  • mongodb第一课: mongodb的安装和使用

    适用场景:持久化缓存层,高效的实时性,用于对象及json数据的存储,高伸缩性的场景,大尺寸,低价值的数据存储 不适...

  • MySQL优化

    Mysql优化方向: 1.存储层(数据): 构建良好的数据结构 2.设计层(单台服务器) 表结构的设计,表的引擎的...

  • 大型网站技术架构——6. 网站的伸缩性架构

    6. 网站的伸缩性架构 网站伸缩性:不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站...

  • 十、文件上传

    一、文件上传介绍 要将客户端(浏览器)大数据存储到服务器端,不将数据直接存储到数据库中,而是要将数据存储到服务器所...

  • SQL必知必会(索引的原理)

    如何评价索引的数据结构设计好坏 数据库服务器有两种存储介质,分别为硬盘和内存。内存属于临时存储,容量有限,而且当发...

网友评论

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

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