这么想,如果我杭州的支付宝的数据库炸了,那么我们是不是可以不用还花呗了。答案显然不可能,在现实的生产环境中,我们很少只使用一个数据库,通常一台机器会发生单点故障,那样子系统的可用性明显就不高。在生产环境中,我们通常会使用多个数据库,有些是主库的备份,如果这个备份只是当主库发生故障的时候用来应急,我们称之为冷备。每次数据库的变更操作,都会同步到备库,假如主库发生故障,我们可以切换到备库,这样子用户几乎没有感知到后台发生过如此惊险的事情。所以,假如程序员或者运维人员恶意摧毁数据的硬件,或者删除数据,假如不是通过数据库命令,就不会被同步到备库上,这个时候,程序员只能删库失败。
image
假如数据真的是被程序员使用数据库命令删除地,并且已经同步到备库上,这个时候该怎么办呢?一般情况下,我们的数据库都是有离线备份的,也就是每天三更半夜的时候,都会把前一天的存量数据打包起来,放到别的机器上,以备不时之需。那么对于今天才产生的新数据,怎么处理呢?基本上,每个数据库操作都有日志,例如我们最常用的MySQL,就有binlog,在我们日常每次操作数据库的时候,都会写下一条对应的日志,所以,我们只要取昨天的离线数据,然后回放今天的数据即可。
那么如何保证数据库的安全呢?
1.限制帐户权限,核心的数据库,一般都不能随便分配写权限,想要获取写权限需要审批,并且,不同的账号,不同的数据之间要进行权限分离,避免一个账号可以删除所有库。
2.定期进行演练,进行数据恢复,一旦发生故障,也可以安然自若,不必惊慌失措。
3.最重要的,还是要善待员工,不要天天加班,开车都不能疲劳驾驶,何况是开数据库的。多给程序员放点工资,介绍女朋友,让他对生活充满信息,毕竟对生活有信心的人,才不会去铤而走险。
严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
上一篇:数据库小白入门以及基础搭建
下一篇:人工智能的工业机器人还能工作吗?
¥48.00¥180.00
¥798.00
¥199.00
¥48.00¥180.00
¥29.90
¥199.00