网站建设资讯

NEWS

网站建设资讯

云数据库的设计,应该注意哪些问题?

在云数据库系统中,设计尤为重要。云数据库的设计,要着重考虑“高可靠性、高可用性、高安全性以及良好的兼容性”这四个方面的因素。

淮上网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

一、高可靠性


数据库的可靠性,就是当数据库系统通知用户“数据读写成功”后,不希望出现用户访问时,还有“数据读写未成功”的情况。


已知“主数据库”和“备份数据库”之间的数据同步,是通过同步日志的内容实现的。假设用户花了5分钟对“主数据库”进行读写操作。读写成功后,“主数据库”向用户反馈了“操作完成”的消息。此时“备份数据库”开始进行同步数据工作,同样,这个过程也需要花费5分钟时间。


如果在这5分钟之内,“主数据库”由于不可预知的故障出现了错误,用户的连接将被切换到“备份数据库”上去。但是,此时“备份数据库”的同步工作尚未完成。如果此时用户对“备份数据库”发出了查询请求,就会发现一部分原以为已经成功导入的数据,并没有导入成功。


一般而言,通常采用三种同步策略,来解决以上问题:


1、 异步:在备份数据库正在同步数据时,不允许将连接切换到备份数据库中去。一个常见的例子就是,人们用POS机刷银行卡时,有时候会遇到POS机提示“网络异常”的情况,用户只需要稍等十几秒再进行连接即可。这种等待在一些情形下是允许的。


2、 全同步:在“主数据库”更新结束后,并不立即向用户反馈更新成功的消息,而是等待所有“备份数据库”同样更新成功后,再向用户反馈提示。这种方式的缺点是,数据库更新的性能会降低很多,在一些大规模数据库的行业中无法满足应用需求。


3、 半同步:半同步是一种对全同步和异步的折中方案。当“主数据库”进行读写时,将日志信息传送给“备份数据库”,“备份数据库”收到日志信息后,给“主数据库”返回一个确认信息。因此,在“主数据库”完成读写操作时,“备份数据库”已经有了更新日志和部分更新的信息。此时,仍然需要等待“备份数据库”完成读写后,才能将连接切换过去。


二、高可用性


高可用性,就是让数据库能够在尽量长的时间内,稳定提供服务,避免出现服务无法正常提供的情况。意外的硬件故障或者计划内的升级,都是对云数据库可用性的挑战。


为了提高可用性,可采用“数据库主备同步机制”。数据库正常运行时,用户对“主数据库”进行访问,当“主数据库”需要进行计划内的升级时,控制系统将高可用模块从“主数据库”切换到“备份数据库”上。


由于“主数据库”中的缓存,保存了用户经常访问的信息,突然地切换到“备份数据库”中,可能会引起缓存命中率的降低,用户感觉到数据库服务器变慢了。因此,主备数据库计划内的切换,通常在用户访问压力小的情况下进行,从而为用户提供高质量的服务。


当“主数据库”出现计划外的错误,导致访问请求失败时,连接保持技术就会迅速地将请求切换到“备份数据库”上去,从而维护了云数据库的可用性。


三、 高安全性


云数据库在给用户带来便利、高效的使用体验以外,安全性也同样重要。很多爆出的云数据库安全问题警示,云数据库还需要进一步提升安全性,才能保证用户的数据安全。


首先在云数据库的访问控制上,针对不同的用户,需要赋予不同的权限,进行合理授权。针对云数据库的管理员,也需要进行访问控制。通常情况下,管理员的主要任务是维护数据库的正常运行,而不是访问或者修改数据库中的数据。


如果黑客攻入了数据库系统,对数据库进行复制、删除或者修改,将对云数据库平台的提供者和使用者,造成难以估量的负面影响。因此,针对云数据库中的核心数据进行加密,是一种非常必要的手段。


第一种方法是,对存储数据库的磁盘进行加密,这能有效防止磁盘被破解。但由于数据库在“网络层”和“应用层”上,依然是明文传输的;并且对磁盘的加密,也会破坏整体云平台的性能。


第二种方法是,在数据库管理系统的外层加上“数据加密/解密”的代理,从而保证网络数据通信过程中数据的安全性。


第三种方法是,在数据库管理系统的内核层进行加密,数据库服务器在向数据库中插入数据前,会自动加密数据,读取的数据先进行解密再传递给查询程序。但是这种“加密/解密”的过程,也会加重服务器的负担。


最后,数据库可以利用审计技术,准确完整地记录数据库的访问与操作行为。数据库安全事件一旦发生,就能够迅速精确地找到责任人,这也是对进行正常访问的用户的一种保护。


四、 良好的兼容性


一个好的数据库平台,必须能够让用户便于进行数据库迁移,这时“兼容性”就显得至关重要。考虑到原有本地数据库的复杂性,以及数据库语言的复杂性,应该让数据库平台尽可能地兼容多种数据库版本与数据库结构,从而能够为用户提供高效便捷的服务。


标题名称:云数据库的设计,应该注意哪些问题?
链接地址:http://njwzjz.com/article/dspjg.html