中国站

云数据库的关键技术

2019-05-05 18:00:56 来源:亿速云

云数据库,是一种“稳定可靠、可弹性伸缩”的在线数据库服务。云数据库,基于云计算平台,提供数据库的变更、查询和计算等服务。

这种服务不仅能够帮助用户从繁琐的硬件、软件配置上解脱出来,还可以简化软件、硬件的升级,具有普通数据库所不具有的特点和功能。

下面,我们来了解一下云数据库的几个关键技术,如:数据库的扩展、大规模数据库的实现所用到的“负载均衡技术”、“读写分离技术”和“数据库/数据表拆分技术”等。

一、 数据库的扩展

当数据库的存储容量不足或者性能有待提升时,需要进行数据库扩展。

数据库扩展,有“向上扩展”和“横向扩展”两种方式。

向上扩展,指的是通过数据库的调优或者硬件调优等方式,提高单机性能。向上扩展,主要针对单个节点进行优化,实现数据库的扩展。横向扩展,则不再局限于提升单机性能,而是实现分布式的数据库,利用多机器解决数据库扩展的问题。

向上扩展和横向扩展,是从不同角度对数据库进行的扩展。打个比方,一个30层的楼房可以容纳200人,现在又有200人需要入住。向上扩展的方式,是在原有30层楼房的基础上,再添加30层,供新老住户居住;而横向扩展的方式则是,额外再建一栋30层的楼房,给新来的200人入住。

在大数据时代,传统向上扩展的方式,只提升和优化单个节点的性能,已经很难满足用户的需求。而且向上扩展的方式,数据在迁移时不得不停机,会造成服务中断。横向扩展的方式,只需增加节点,使得数据库的扩展工作大大简化。当有节点发生故障时,系统自动检测故障,并转移故障节点的应用,提高数据库的可靠性和高可用性。

亿速云云服务器,支持用户对云服务器实例进行实时迁移,而无需暂停和中断服务,保证了服务的可靠性和高可用性。

二、 大规模数据库的实现

在大数据时代,海量数据的存储和访问,成为数据库设计的瓶颈,传统的方式已无法满足大数据的需求。要实现超大规模的数据库,可采用“负载均衡技术、读写分离技术、数据库/数据表拆分技术”等。

1、 负载均衡技术

顾名思义,负载均衡就是平衡各节点/单元的工作负载,以达到提高整个系统资源利用率的目的。利用负载均衡技术,可以将大量并发访问或数据流量等任务,分配到多个节点单元上分别处理,以缩短反应时间,或者将单个负载严重的节点的工作任务,分配到其他节点进行处理。

负载均衡技术,通常用于集群系统中,该系统由多台计算机构成,系统之间通过网络进行连接。对内,各个节点相互协作,均衡负载;对外,则表现为超强性能的服务器。

在云数据库中实现负载均衡,首先需要一个连接数据库的控制端,作为中间层。外部的所有请求,访问中间层,再由中间层来访问数据库。中间层可以设置有效的均衡策略,控制每次访问哪个数据库。此外,在云数据库中,负载均衡技术要解决的另一个问题是,数据的实时和同步。

负载均衡技术,使得数据库具有很强的扩展性,只需要增加数据库服务器即可。通过多台服务器实现数据冗余,也保护了数据库的安全性。

亿速云云服务器,进行了容灾部署,保证用户所租用的云服务器绝对分散在不同的物理机上,提高了用户数据安全性的同时,也保证了服务的高可用性。

2、 读写分离技术

数据库读写分离的原理,是将“读操作”和“写操作”对应到不同的数据库服务器上去,从而减轻了数据库的压力。一般由“主数据库”对应“写操作”,“从数据库”对应“读操作”。当数据库进行“写操作”时,需要同步到所有的数据库中,从而保证数据的完整性。

数据库的读写分离,需要实现数据复制,将一组数据拷贝到多个数据源,分布在多个数据库服务器,从而保证不同地点的数据自动更新,维持数据的一致性。

但读写分离技术也存在一定的问题。例如:实时性差,“写操作”进行后,往往要隔一段时间才能访问到最新的数据。尤其是在操作的数据量大时,同步效率明显变差。所以,需要根据查询的敏感程度区分业务,将可接受短期延迟的查询分流到库。

3、 数据库/数据表拆分技术

数据库/数据表拆分技术,是按照一定的规则,将同一个数据库的数据,分散到不同的数据库中,通过“路由转换”访问特定的数据库,从而将访问分散到多台数据库服务器。

拆分技术,分为纵向拆分和横向拆分。纵向拆分,是按照具体应用的功能模块进行拆分,不同功能的模块,分布在不同的数据库中。横向拆分,是将单个表的数据,分散到不同的数据库。

纵向拆分,适合模块划分清晰的系统,但是仅仅按“功能模块”进行拆分,并不能有效缓解所有的访问压力,单表数据的操作,带来的系统开销仍然很大。此时,横向拆分的方法,继续将单表划分成子表,可有效提升数据库的操作效率。