cream 2013-08-08
如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件:
比如有时DBA会关注数据库的吞吐量,但吞吐量越高不能代表数据库提供的服务质量越好,开发人员关心这个指标的原因也是因为担心过高的吞吐量会影响响应时间或者造成系统不可用,所以这只是一个中间指标。
推荐阅读:
1.1.数据安全
数据安全是第一位的,DBA的首要职责必须保证不丢数据,丢掉数据就丢掉了饭碗!
这有3方面的含义:
1)在人为误操作的时候(update,insert,delete,drop,alter),能够恢复数据到正确的状态
2)在机房,硬件故障或者操作系统,数据库软件故障的时候,能够恢复数据到正确的状态
3)不丢事务,保证已经入库的数据能够被正确的查询到
另外,还要注意到需要保证主从数据库的一致性,否则读写分离的情况下其实在用户看来仍然丢失了数据。
对于1,主要靠备份来保证,因为复制可以容灾,却不可以容错(当然延迟备份在一定程度可以)。
对于2,可能用备份来恢复,也可能直接进行主库或者从库的切换来恢复服务
对于3,电商,支付库的要求会非常高,采用最高安全级别的数据库软硬件设置以及冗余设备,目标是不丢任何1个事务,因为即使1个事务也可能造成大量金钱的损失,同时造成企业信誉的下降。
“911”事件曾造成1200家公司受灾,其中一半以上的企业因为IT数据损毁、丢失,导致业务无法恢复,以致于宣布倒闭。金融界巨头Morgan Stanley 全球营业部第二天就恢复正常工作,正是因为先前建立的远程容灾系统保护了重要的数据。
可测量指标:
RPO说明了备份的可靠性和完整性,RTO说明了恢复的可靠性与速度。
由于MySQL开源版本并不提供热备的工具以及备份管理的工具(MSSQL,Oracle是提供的,当然它们是商业软件),所以要求DBA开发出自己的备份还原管理平台(脚本)。这也是DBA的首件工作。