如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件:
- 可以用数字来测算和衡量
- 最终指标,而不是中间指标
比如有时DBA会关注数据库的吞吐量,但吞吐量越高不能代表数据库提供的服务质量越好,开发人员关心这个指标的原因也是因为担心过高的吞吐量会影响响应时间或者造成系统不可用,所以这只是一个中间指标。
- 可以全面衡量一个网站的数据库运维水平,而不会顾此失彼
- 有人文关注
1.1.数据安全
数据安全是第一位的,DBA的首要职责必须保证不丢数据,丢掉数据就丢掉了饭碗!
这有3方面的含义:
1)在人为误操作的时候(update,insert,delete,drop,alter),能够恢复数据到正确的状态
2)在机房,硬件故障或者操作系统,数据库软件故障的时候,能够恢复数据到正确的状态
3)不丢事务,保证已经入库的数据能够被正确的查询到
另外,还要注意到需要保证主从数据库的一致性,否则读写分离的情况下其实在用户看来仍然丢失了数据。
对于1,主要靠备份来保证,因为复制可以容灾,却不可以容错(当然延迟备份在一定程度可以)。
对于2,可能用备份来恢复,也可能直接进行主库或者从库的切换来恢复服务
对于3,电商,支付库的要求会非常高,采用最高安全级别的数据库软硬件设置以及冗余设备,目标是不丢