一、数据库管理简介

1、数据库管理

1.1、数据库管理(Database Admin)

数据库管理工作就是对数据库管理系统进行管理和维护的工作
核心目标,保证数据库管理系统的
  稳定性
  安全性
  数据一致性
  系统的高性能
  
数据库管理员(Database Administrator)
从事管理和维护数据库管理系统的相关人员的统称

1.2、数据库管理及其工作范围

数据库对象管理:
  物理设计工作
  物理实现工作

数据库安全管理
  防止未授权访问,避免受保护的信息泄露
  防止安全漏洞和不当的数据修改
  确保数据只提供给授权用户使用

备份恢复管理
  制定合理的备份策略,实现数据定期备份功能
  保证灾难发生时数据库系统能够做到最快恢复和最小损失

数据库性能管理
  对影响数据库性能的因素进行监控和优化
  对数据库能使用的资源进行优化,从而增加系统吞吐量,并减少竞争,最大可能的处理工作负载

数据库环境管理
  数据库的运行和维护管理
  包括安装,配置,升级,迁移等确保数据库系统在内的IT基础设施正常运作的管理工作

2、对象管理

2.1、数据库对象

什么是数据库对象
数据库里用来存储和指向数据的各种概念和结构的总称
对象管理就是使用对象定义语言或者工具创建,修改或删除各种数据库对象的管理过程

常见的基本数据库对象

高斯数据库HCNA之数据库管理_数据

2.2、制定命名规范

良好的设计是良好额开端
数据库产品本身没有严格的限制
随意的对象命名会导致系统的不可控,不可维护

命名规范的几点建议
  统一名称的大小写
  利用前缀表示对象类型,如表名前缀t_,视图前缀v_,函数前缀f_等
  命名尽量采用富有意义,易于记忆,描述性强,简短及具有唯一性的英文词汇,不建议使用汉语拼音
  以项目为单位,采用名称词典,制定一些公共的缩略词,如amt代表amount(数量)

高斯数据库HCNA之数据库管理_数据库_02

3、备份恢复管理

3.1、备份和恢复的基本概念

数据库备份
  备份数据库就是将数据库中的数据,以及保证数据库系统正常运行的有关信息保存起来,以备系统出现故障后恢复数据库时使用
备份对象,包括但不限于
  数据本身
  和数据相关的数据库对象
  用户及权限
  数据库环境,如配置文件,定时任务等
数据库恢复
  将数据库系统从故障或者瘫痪状态恢复到可正常运行,并能够将数据恢复到可接受状态的活动

3.2、灾难恢复

企业级容灾
  对于企业和单位来说,数据库系统和其他应用系统构成更大的信息系统平台,所以数据库备份恢复并不是孤立的功能点
  要和其他应用系统一并考虑整个信息系统平台的容灾性能

灾难备份
为了灾难恢复而对数据、数据处理系统、网络系统、基础设施、专业技术能力和运行管理能力进行备份的过程
恢复时间目标(RTO)
  灾难发生后,信息系统或业务功能从停顿到必须恢复的时间要求
恢复点目标(RPO)
  灾难发生后,系统和数据必须恢复到的时间点要求

3.3、灾难恢复等级

高斯数据库HCNA之数据库管理_数据_03

3.4、某行业RTO/RPO与灾难恢复能力等级关系

高斯数据库HCNA之数据库管理_数据_04

3.5、备份方式

全量备份
差异备份
增量备份
热备
温备
冷备
物理备份
逻辑备份

3.6、全量备份

全量备份
也称为完全备份
对某个指定时间点的所有数据和对应的结构进行一个完全的备份

特点
数据最完备
安全性最高
备份和恢复时间随着数据的体量而明显增加
非常重要,是差异备份和增量备份的基础
备份期间会对系统性能产生一定影响

3.7、差异备份和增量备份

差异备份
  差异备份是指上一次全量备份之后,对发生变化的数据进行的备份

增量备份
  增量备份是指上一次备份之后,对发生变化的数据进行的备份

高斯数据库HCNA之数据库管理_数据_05

3.8、热备、温备和冷备

热备
  在数据库正常运行下进行备份
  备份期间,数据库读写均可正常进行

温备
  数据库可用性弱与热备,备份期间,数据库只能进行读操作,不能进行写操作

冷备
  在备份期间,应用的读写操作不可进行
  备份出的数据可靠性最高

3.9、物理备份和逻辑备份

物理备份
  直接备份数据库所对应的数据文件甚至是整个磁盘

逻辑备份
  将数据从数据库中导出,并将导出的数据进行存档备份

高斯数据库HCNA之数据库管理_数据库_06

4、安全管理

4.1、数据库系统安全框架

广义范围,数据库安全框架可以分为三个层次
网络层次安全
  从技术角度讲,网络系统层次安全方法技术主要有加密技术,数字签名技术,防火墙技术和入侵检测技术等
操作系统层次安全
  核心是要保证数据库的安全,主要体现在服务器的用户账户,口令,访问权限等方面
  数据安全主要体现在加密技术、数据存储的安全性,数据传输的安全性等方面,如Kerberos,IPsec,SSL和VPN等技术
数据管理系统层次安全
  数据库加密
  数据存取访问控制
  安全审计
  数据备份

4.2、安全控制模型

在数据库应用系统的不同层次提供对有意和无意损害行为的安全防范,例如
  加密存储数据->有意非法活动
  用户身份验证,限制操作权限->有意的非法操作
  提高系统可靠性和数据备份->无意的损害行为

高斯数据库HCNA之数据库管理_数据库系统_07

4.3、身份验证

数据库用户的身份验证时DBMS提供的最外层安全保护措施
阻止未经授权的用户的访问
对于数据库应用目前普遍采用用户名密码验证模式,所以有必要增强密码强度
  采用长度较长的字符串,如8-20个字符
  混合数字,字母和符号的密码
  定期更换密码
  密码不能重复使用
在开发的代码或者脚本中,禁止出现数据库用户的密码明文

4.4、访问控制

访问控制是数据库安全中最有效的办法也是最容易出问题的地方
基本原则
对于不同用户根据敏感数据的分类要求,给予不同的权限
  最小权限原则
  检查关键权限
  检查关键数据库对象的权限
基于角色的权限管理
对于大型数据库系统或者用户数量多的系统,权限管理主要使用基于角色的访问控制(Role Based Access Control,RBAC)

4.5、开启审计

审计日志可以帮主数据库管理员发现现存架构和使用中的漏洞
数据库审计的层次
访问及身份验证审计,数据库用户登入(logon),登出的相关信息(logoff),如登入登出时间,连接方式及参数信息,登入途径等
用户与管理员审计:针对用户和管理员执行的活动进行分析和报告
安全活动监控:记录数据库中任何未授权或者可疑的活动生成审计报告
漏洞与威胁审计:发现数据库可能存在的漏洞,以及想要利用这些漏洞的"用户"

4.6、数据库加密

数据库加密的不同层次
DBMS内核层
  数据在物理存取之前完成加/解密工作
  对于数据库用户来说是透明的,没有感觉得
  采取加密存储,加密运算在服务器端运行,在一定程度上会加重服务器的负载
DBMS外层加密
  开发专门的加解密工具,或者定义加解密方法
  可以控制加密对象粒度,到表或者字段级别进行加解密
  用户只需要关注敏感信息范围

5、性能管理

5.1、资源

供给类资源
  这类资源也称为基础资源,是计算机硬件对应的资源
  操作系统管理的资源
  处理能力:CPU>内存>磁盘≈网络
并发性控制资源
  这类资源包括但不限于:锁,队列,缓存,互斥信号灯
  数据库系统管理的资源
性能管理的基本原则
  充分利用资源不浪费

高斯数据库HCNA之数据库管理_数据库_08

5.2、性能管理的意义

资源的高效使用
  数据库实际上总是在有限的环境下运行
  对资源的有效管理确保数据库系统在高峰时期能够满足用户对系统的性能要求
侦测系统问题
  实时的系统性能监控(通过数据库提供的日志或者工具进行实时监控系统性能)
  系统历史性能数据跟踪(历史性能数据的分析)
容量规划
  性能管理所收集到的数据是进行系统容量规划及其他前瞻性规划的基础
  用事实而不是感觉说话

5.3、性能管理的目标

数据库系统的基本指标
  吞吐量
  响应时间

OLTP
  在可接受的影响时间基础之上提供尽可能高的吞吐量
  降低单位资源消耗,快速通过并发共享区域,减少瓶颈制约
OLAP
  在有限的资源内尽可能的缩短响应时间
  一个事务应该充分利用资源来加速处理时间

5.4、性能优化工作的一些场景

上线优化或未达到性能期望的性能优化
响应速度逐渐变慢的系统优化
系统运行过程中突然变慢的系统优化(应急处理)
突然变慢,持续一段时间以后又恢复正常
基于降低资源消耗的系统优化
预防性的日常巡检工作

5.5、性能管理需要采集的数据

性能管理需要采集的数据范围,包括但不限于
  CPU使用数据
  空间使用率
  使用数据库系统的用户和角色
  心跳查询的响应时间
提交到数据库的SQL为基本单元的性能数据
数据库工具提交的作业相关的性能数据(如加载,卸载,备份,恢复等)

关注的时间范围
  日常范围:一周高峰时段的时间,月度结束的时间,季节变化数据
  一天范围内:用户集中使用系统的时间段,系统压力比较高的时间段等

5.6、建立性能报表

数据库系统内置很多监控报表
提取性能相关的数据建立定期性能报表(日报,周报,月报)
建立常见指标的性能趋势分析报告,可以对当前系统性能有直观的展现
特定趋势类型的报表,包括但不限于
  基于异常事件的报表
  消耗大量资源的SQL或是作业
  特定用户、用户群的资源消耗报表
  特定应用的资源消耗报表

6、运维管理

6.1、数据库安装

知识准备
关系数据库理论
操作系统知识
了解数据库产品的特点
  软件架构
  网络架构
  服务器架构
了解目标数据库的专有名词和特定术语
阅读安装手册,尤其是安装注意事项

高斯数据库HCNA之数据库管理_数据_09

6.2、数据库卸载

在实际场景中,多发生于数据库的版本升级之前,需要对老版本的数据库进行卸载或者清理
基本步骤
(可选)对数据库进行一次全备
停止数据库服务
卸载数据库

不同架构场景下
单机,主备或一主多备的卸载方法都是类似的,需要在每个节点上执行相同的卸载操作
分布式集群的卸载一般使用专有的卸载工具

卸载后
对于一些客户,数据库卸载后需要对存储介质上的数据再进行销毁处理,保证数据不泄密

6.3、数据库迁移

需要依据不同的迁移场景需求设计迁移方案
考虑的因素
  迁移可用的时间窗口
  迁移可以使用的工具
  迁移过程中数据源系统是否停止写入操作
  迁移过程的数据源系统和目标系统之间的网络情况如何
  根据迁移的数据量估算备份/恢复时间
  迁移后,源和目标数据库系统之间的数据一致性稽核

6.4、数据库扩容

任何一个数据库系统的容量都是在某个时间点的基础上对未来一段时间内的数据量进行估算后确定的,容量不仅仅是数据存储量
还需要考虑以下几个方面
  计算能力不足(整个系统CPU日均繁忙程序>90%)
  响应/并发能力不足(QPS,TPS显著下降,无法满足SLA)
  数据容量不足(可用的数据空间低于15%)

扩容方案的选择
垂直扩容
  垂直扩容就是增加数据库服务器硬件,如增加内存,增大存储,提升网络宽带,提升单机硬件方面性能配置,这种方式相对简单,但是会遭遇单机硬件性能瓶颈
水平扩容
  横向增加服务器数量,利用集群中的服务器数量的优势来增加整体系统的性能
停机扩容
  简单,但是时间窗口有限,出现问题会导致扩容失败,而且如果时间过长,不易被客户接受
平滑扩容
  对数据库服务无影响
  技术方案相对复杂,尤其数据库服务器数量增多,扩容复杂程序就急剧上升

5.5、例行维护工作

例行维护工作
数据库故障处理
  配置数据库监控指标和告警阈值
  针对故障事件的等级设置告警通知流程
  接受告警信息后,根据日志进行故障定位
  对于遇到的问题,应详细记录原始信息
  严格遵守操作规程和行业安全规程
  对于重大操作,在操作前要确认操作可行性,做好相应的备份、应急和安全措施后,由有权限的操作人员执行
数据库健康巡检
  查看健康检查任务
  管理健康检查报告
  修改健康检查配置
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 数据库