数据库是所有企业业务的基座,企业内的研发、测试、运营、运维等等人员每天都需要对数据库进行操作或者查询,但是使用数据库的人员对数据库的了解程度参差不齐,所以数据库的稳定性不断受到如下问题的挑战。数据库运维和管理的挑战业务快速迭代,数据库故障频
数据库是所有企业业务的基座,企业内的研发、测试、运营、运维等等人员每天都需要对数据库进行操作或者查询,但是使用数据库的人员对数据库的了解程度参差不齐,所以数据库的稳定性不断受到如下问题的挑战。
数据库运维和管理的挑战
- 业务快速迭代,数据库故障频发
- 业务发布,产生了大量慢SQL。
- 业务大促,容量预估不足。
- 表结构或者索引设计错误。
- 未经Review的SQL或者表被发布到线上。
- 缺少数据支撑,问题排查靠猜
数据库的问题排查和性能优化一直都是数据库领域的专业问题,但是即使最专业的DBA在面对一些问题的时候,也往往耗费了很长时间,但是仍然无法定位到根因,主要的难点有三个:
- 获取信息难,问题诊断和性能优化都需要依赖于大量的系统数据,甚至是长期的历史数据,只有基于完备的信息才能给出准确的解法。
- 分析信息难,需要多年的经验才能给出准确的解法,也需要多样的场景才能覆盖比较全面的问题类型。经验与场景,一不好传承,二变化较快,三他人理解不易。
- 优化手段难,找出问题了,知道怎么办了,也并不意味着就能马上解决问题,甚至有些解法是要深入到数据库引擎层代码优化,这可不是一朝一夕就能做好。
- 管理成本高
随着云技术的普及,企业可以更为便捷的根据不同的业务类型,使用不同的数据库,或者将数据库部署在不同的环境中,多环境和多种数据库的管理的挑战也随之而来:- 精通多种数据库的专业DBA是稀缺人才,招聘难。
- 管理部署在多种环境的多种数据库的难度大。
- 管理经验沉淀和传承的难度大。
- 数据库的安全风险大
随着数据价值的提升,企业的数据面临着越来越多的内部或者外部的攻击,数据泄漏、数据丢失等问题层出不穷。- 未授权或者不可预期或者错误的数据库访问和使用。
- 数据泄漏。
- 数据损坏。
- 黑客攻击。
- 软硬件bugs,导致数据异常。
- 误操作导致数据丢失。