广州天凯信息科技有限公司
在线客服
 工作时间
周一至周五 :8:30-22:00
周六至周日 :9:00-17:00
 联系方式
客服热线:13926108245
客服热线:13710815210

数据库运维模式探索【广州天凯科技数据库运维心得浅谈】

 二维码 19
作者:冯工

数据是企业的命脉,数据库的运维是企业经营运作的重中之重。随着互联网和云计算的高速发展,企业加大了对it运维的投入,而数据库运维是最重要的。因为数据库维护水平将直接影响到企业的业务发展。

数据库运维面临的挑战

常规数据库运维面临的挑战

一般而言,服务器数量较少情况下,数据库运维主要存在数据安全、高可用性和性能三大难题。

pexels-photo-263194.jpeg

  1. 数据的安全。在数据库运维中,数据安全是最重要的,数据是企业的命脉,服务器磁盘,存储等硬件的故障、维护人员的误操作都会引起数据安全问题,若数据丢失很有可能会给企业带来灾难性的经济损失,不容忽视。

  2. 高可用性。服务器磁盘、内存等硬件故障及误操作都会影响数据库的高可用性,维护人员需要尽可能地缩短此类故障引起的停机时间。

  3. 数据库性能。这里指的是数据库响应的性能,主要的方法是对硬件配置、磁盘介质(SSD盘或高性能存储)、数据库配置参数和SQL语句优化。

对于中小企业的数据库规模,故障事件发生的频率一般是在数月后数周/次,处理方式也比较单一,主要依靠运维人员的个人经验通过脚本或百度等搜索引擎排查故障,需要一个经验丰富的运维人员和一个专业DBA来解决问题。

大规模数据库面临的挑战

在数据库规模增大时,对单个数据库节点来说,数据安全、高可用性和性能还是最重要的三个指标。当机器的规模增长到数千个数据库时就会引入新的挑战,如备份存储的容量、数据安全等因素可能会成为新瓶颈的挑战。

leipzig-1256514_1920.jpg

同时,数据库故障事件的频率会大大增加,几十次甚至几百次/天都很正常,如采用常规的运维模式,将导致运维成本和管理成本的增加,特别在意外事件发生时。大规模运维模式带来的成本问题怎么面对?如何解决运维人员的缺乏和提升设备资源利用率呢?这些都是急需解决的重要问题。

大规模数据库运维经验

运维自动化可以提升DB运维的效率,有效的资源管理和隔离可以提升资源利用率和减少资源之间性能竞争问题。以下就从这2个方面分别进行介绍。

运维经验1:运维自动化

人们生产工具化的进步,工具从低级到高级、从手动到自动,以此提高生产效率,而运维工作同样也是这样的一个进化过程——将运维工作交给系统和工具,由手动变为自动。可视化、批量化和智能化是自动化运维的3个比较重要的指标。


pexels-photo-256381.jpeg

  1. 可视化

    可视化是运维自动化最基本的要求,图形化操作使运维工作更直观。最常见的运维系统的用户有DBA和系统运维人员,因为两者的思考角度不一样,可以分别实现两套可视化的系统。

    • 数据库运维系统:专门提供DBA使用,主要包括DBA常见的操作,如创建DB、监控数据库资源、备份和恢复数据库等。

    • 运营管理系统:专门提供运维或运营人员使用,主要方便运维人员获取运营数据、监控数据和执行运维操作。1. 常见的运营数据包含申请的数据库数量、服务器的数量以及周期内的物理资源和增加的DB实例数,以便于资源的合理规划。2. 运维人员需要立体化的监控数据, 其中包括网络层的数据、系统层的数据、用户层的数据、应用层的数据等,以方便运维人员分析当前系统的故障情况。3. 运维操作需要结合运维场景设置,比如服务器部署、故障迁移、在线扩容、实时告警和资源下线等。

  2. 批量化

    批量操作通常是通过工具来实现的。有时命令行下的操作会让运维人员感觉更顺畅,大大加快运维人员的工作效率,比如批量数据查询工具、批量数据库文件修复工具、批量启动数据库工具等。建议批量操作工具能尽可能地简化。

  3. 智能化

    实现智能化可以从资源的智能化分配和业务数据分析等方面实现。系统保存着整个集群的资源使用情况,包括内存、磁盘、CPU、IO和带宽等信息,根据这些资源的使用情况合理地分配资源,使资源能够合理的利用。

运维经验2:架构设计优化

  1. 高可用架构:使用中间件和数据库集群来提升数据库的可用性。

  2. 跨机房容灾:实现跨机房的数据库主从同步,减少单个机房数据库的故障率,避免单机房的灾难故障影响数据库的可用性。

  3. 分布式对象存储系统:使用分布式对象存储系统,利用存储设备多版本存储的特性,实现数据冗余备份和跨机房容灾,不用担心自然灾害造成的数据丢失。

结语:

  大规模数据库架构为企业提供了重要的数据运营支撑平台,同时也给运维带来了极大的挑战,常规的运维模式难以满足需求,自动化运维模式和优秀的架构设计变得非常重要。建议企业在IT系统上线运营前,先规划好数据库的整体架构,包括存储模式,高可用性,扩展方案等思路。只要把数据库的运维模式提前设计好,才可以给企业IT运营带来更高的效益。