第六章 数据存储和操作

一、引言

定义:数据存储与操作包括对存储数据的设计、实施和支持,最大化实现数据资源的价值,贯穿于数据创建/获取到处置的整个生命周期。

2个活动:

  • 数据库操作支持:主要关注与数据生命周期相关的活动,即从数据库环境的初始搭建,到数据的获取、备份再到处置数据。同时,确保书库性能状态良好。
  • 数据库技术支持:包括定义满足组织想㔿的数据库技术要求,定义数据库的技术架构,安装和管理数据库技术,以及解决与数据库相关的技术问题。

1.1 业务驱动元素

数据存储与操作活动对于依赖数据的企业来说非常关键,这些活动的主要驱动因素是业务连续性。

1.2 目标和原则

数据存储与操作目标包括:

  • 在整个生命周期中管理数据的可用性
  • 确保数据资产的完整性
  • 管理数据交易事务的性能

(1)识别自动化的机会并采取行动

自动化数据库开发过程、开发工具和流程,缩短每个开发周期过程,可减少错误和返工,将对开发团队的影响降至最低。

(2)构建时就考虑重用的思想

开发抽象的和可重用的数据对象并推广使用,不让应用程序与数据库模式紧耦合,eg:数据库视图、触发器、函数、存储过程、应用数据对象和数据访问层、XML、XSLT、ADO.NET类型数据集合Web服务。

(3)理解并适当使用最佳实践

DBA应将数据库标准和最佳实践作为需求来推广。

(4)支持数据库的标准需求

服务水平协议(SLA)可反映DBA推荐的、开发人员认可的方法,以确保数据完整性和数据安全性。

(5)为项目中的DBA角色设置期望值

在项目定义阶段就让DBA参与进来,有助于确保项目方法论贯穿整个软件开发生命周期。

1.3 基本概念

1.3.1 数据库术语

(1)数据库

存储数据的集合

(2)实例

通过数据库软件,执行对某一特定存储区域的控制访问,每个实例与所有其他实例相互独立。

(3)模式

模式是数据库或实例中的数据库对象的一个子集,常见用法是将包含敏感数据的对象与普通用户群隔离,或者是在关系数据库中将只读视图与基础表隔离。

(4)节点

一台单独计算机作为分布式数据库处理或者存储数据的一个部分

(5)数据库抽象

通用应用接口(API)通常用来调用数据库函数

1.3.2 数据生命周期管理

贯穿数据设计、实现到使用的整个数据生命周期,数据生命周期管理包括数据的获取、迁移、保留、过期和处置进行的实施策略和过程。

1.3.3 管理员

(1)生产DBA

生产DBA主要负责数据操作管理,包括:

  • 通过性能调优、监控、错误报告等活动,确保数据库的性能及可靠性;
  • 通过建立备份与恢复机制,确保在任何意外情况下数据能够被恢复;
  • 通过建立集群和容错机制,确保数据连续可用
  • 执行其他数据库维护活动,如建立数据归档机制。

生产DBA创建以下可交付成果:

  • 生产数据库环境,包括支持服务器上的DBMS实例;提供足够的资源和容量,确保获得很好的性能;配置适当的安全性,可靠性和可用性级别,数据库系统管理员为DBMS的环境负责。
  • 在生产环境中,控制数据库实施变更的机制和流程。
  • 针对各种导致数据丢失或数据损坏的情况,建立确保数据完整、可用和恢复的机制
  • 建立任何可能发生在数据库或数据服务器上的错误检测和报告机制
  • 提供与SLA相匹配的数据库服务,包括可用性、数据恢复及性能等
  • 建立伴随工作负载和数据量变化的数据库性能监控的机制和过程。

(2)应用程序DBA

应用程序DBA通常负责所有环境中的一套或多套数据库,而不是指定负责管理某个环境的数据库系统。

(3)过程和开发DBA

过程DBA负责审查和管理数据库的过程对象,专门开发和支持关系数据库控制和执行的过程逻辑:存储过程、触发器及用户自定义的函数,过程DBA确保过程逻辑是按规划进行的、可实施的、经过测试的、可共享的。

开过DBA主要关注数据设计活动,包括创建和管理特殊用途的书库。

通常,这两个角色合并成一个职位,统称为开发DBA。

(4)网络存储管理员

主要关注支持数据存储阵列的软硬件

1.3.4 数据架构类型

数据库可分为集中式数据库和分布式数据库。集中式系统管理单一数据库,而分布式系统管理多个系统上的多个数据库;分布式系统组件可根据组件系统自治性分为两类:联邦的(自治)或非联邦的(非自治)

(1)集中式数据库

集中式数据库将所有数据存放在一个地方的一套系统中,所有用户连接到这套系统进行数据访问。

(2)分布式数据库

分布式数据库通过扫描大量节点来快速获取数据。

  • 联邦数据库:数据不需要对数据源进行额外复制或持久化,系统地将多个自治的数据库系统映射成一个单一的联邦数据库。联邦数据库对于类似企业信息集成、数据可视化、模式匹配和主数据管理这样异构和分布式的集成项目非常合适。联邦数据库管理系统分为松耦合(需要多个组件数据库来构造他们自己的联邦模式)和紧耦合(由组件数据库系统组成,用独立的进程构造,发布一个集成的联邦模式)两类。
  • 区块链数据库:属于一种联邦数据库,用于安全管理金融交易。区块链数据库有两种结构类型:单条记录和块。每个交易包含一条记录,每个区块包含一组带时间戳的交易,整个数据库由多个区块形成的链状结构组成,每个区块还包含链中前一个区块的信息。存储在区块中的交易信息在生成时使用了哈希算法,新生成区块位于整个链的末端。

(3)可视化/云计算平台

云计算提供计算、软件、数据访问和存储服务,不要求终端用户了解提供服务系统的物理位置和相关配置。云计算是虚拟化、SOA(面向服务架构)和效用计算广泛使用的自然演进形态。

  • 虚拟机镜像:在虚拟机上,用户可部署数据库,也可把装好数据库的机器镜像上传到云上。
  • 数据库即服务(Daas):应用程序用户不需要自己安装和维护数据库,只需要为使用数据库付费。
  • 管理托管在云上的数据库:数据库不是作为一项服务来提供的,而是云厂商代表应用程序所有者管理数据库。

DBA需与网络和系统管理员协调,建立系统的项目集成机制,包括标准化、整合、虚拟化、数据自动备份与恢复以及数据安全。

  • 标准化/整合:整合减少数据在组织里存储位置的数量,包括在一个数据中心内数据存储和处理的数量。基于数据治理策略,数据架构师和DBA可制定包括识别关键战略数据、数据保留的周期、数据加密过程及数据复制策略的标准流程
  • 服务器虚拟化:虚拟化技术允许将多个数据中心的设备进行替换或整合。
  • 自动化:包括准备、配置、修正、版本管理及合规等一系列自动化任务
  • 安全:虚拟环境的数据安全,需要与物理设施的安全一起考虑。

1.3.5 数据处理类型(ACID和BASE)

(1)ACID

在关系型数据库存储中,ACID相关技术是最主要的工具,通常采用SQL作为接口。

  • 原子性:所有操作要么都完成,要么一个也不完成。
  • 一致性:事务必须时刻完全符合系统定义的规则,未完成的事务必须回退。
  • 隔离性:每个事务都是独立的。
  • 持久性:事务一旦完成,就不可撤退。

(2)BASE

数据增长规模空前、数据新增种类繁多。记录和存储非结构化数据的需要,读优化和数据负载性能需要以及后续在横向扩展、设计、处理、成本及灾难恢复方面有更大灵活性的需要,BASE应时而生。

  • 基本可用:即使节点发生故障,系统仍然能保证一定级别数据的可用性。数据可能过时,但系统仍然会给出响应。
  • 软状态:数据处于持续流动的状态,当给出响应时,数据不保证是最新的。
  • 最终一致性:数据在所有节点、所有数据库上最终状态是一致的,但并非每时每刻在每个事务里都是一致的。

(3)CAP

CAP定理是集中式系统在朝着分布式的系统方向发展过程中提出的理论。CAP定理指的是分布式系统不可能同时满足ACID的所有要求。系统规模越大,满足的要求点越少。分布式系统必须在各种属性间进行权衡。

  • 一致性:系统必须总是按照设计和预期的方式运行。
  • 可用性:请求发生时系统时刻都保持可用状态,并对请求作出响应。
  • 分区容错:偶尔发生数据丢失或部分系统故障时,系统依然能够持续运行提供服务。

CAP定理指出,在任何共享数据系统中,这3项要求最多只可能同时满足其中两项,通常用“三选二”来说明。

1.3.6 数据存储介质

数据能存放到各种介质里,如磁盘、内存、闪存等。一些系统可能同时采用多种存储介质,常见用法:

(1)磁盘和存储区域网络(SAN)

磁盘存储是一种非常稳定的存储永久数据的方法。同一个系统里,可用多种不同类型的磁盘。可根据数据访问频率的不同,采用不同的存储介质。访问频率较低的数据,适合存储在比高性能磁盘系统更廉价的慢速磁盘上。磁盘列阵可组成SAN,SAN内的手弩可直接通过背板上的光口或电口移动,不需要通过网络。

(2)内存

每当系统启动时,内存数据库从永久存储中将数据加载到内存中,所有数据都在内存中完成,相比在磁盘上处理数据的系统,事务相应速度更快。大部分内存数据库也具有配置数据持久化的特性,以防意外宕机。

(3)列压缩方案

列式数据库是为处理那些数据值存在大量重复数据集而设计的,列式存储按列的方式存储数据并使用压缩技术,可以降低I/O带宽的占用。就好像某个状态被存为一个指向状态表的指针,这样可以显著压缩主表。

(4)闪存

闪存和SSD固态盘成为磁盘最有吸引力的替代品,闪存具有集内存访问速度和存储持久性于一体的特点。

1.3.7 数据库环境

(1)生产环境

生成环境是指处理所有生成业务流程发生的技术环境,它非常关键,如果停止运行,所有业务流程都会停止,最终导致业务损失,同时会给那些无法访问服务的客户造成负面影响。

(2)非生产环境

系统的变更在真正部署到生产环境前,需要在非生产环境下进行开发和测试。

开发环境 开发用的环境通常是生产环境的简单配置版本,相对而言是更少量的磁盘空间、更少的CPU及内存等,是任何补丁或更新进行测试的第一场所。
测试环境

测试环境通常用于执行质量保证和用户验收测试,通常用于:

  • 质量保证测试(OA):依据需求进行功能测试
  • 集成测试:将独立开发或更新的多个模块作为一个整体系统进行测试
  • 用户验收测试(UAT):从用户视角进行系统功能测试
  • 性能测试:任何时候都可考虑进行的高度复杂或大容量的测试
数据沙盒或实验环境 数据沙盒是允许以只读的方式访问和管理生产数据的另一个环境,用于实验开发或验证先关假设的数据,或将用户自己开发的数据从外部获得的补充数据域生产数据进行合并。数据沙盒的价值如同进行一场概念验证。

1.3.8 数据库组织模型

(1)层次型数据库

层次数据库的结构要求最为严格,数据被组织成具有强制的父子关系的树形结构:每个父级可以有多个子级,但每个孩子只有一个父级。

(2)关系型数据库

关系型数据库基于集合理论和关系代数,其中数据元素或属性(列)与元组(行)相关,关系型数据库是面向行的。

  • 多维数据库:将数据存储在一种数据结构中,它允许同时对多个数据元素过滤器进行搜索,最常用于数据仓库(DW)和商务智能(BI)
  • 时态数据库:是一种内置了支持处理涉及时间数据的关系型数据库,时间的特性通常包括有效时间(现实世界中一个真实事件或实体对象发生的时间范围)和事务时间(存储在数据库中的事实被认为是真实的时间段)。

(3)非关系型数据库(NoSQL数据库)

非关系型数据库可以将数据存储为简单的字符串或完整的文件,根据需要可用不同的方式读取这些文件中的数据;非关系型数据库提供了一种存储和检索数据的二级制,它使用的一致性模型约束较少;非关系型数据库主要区别是存储结构,数据结构不在绑定到表格关系中设计,它可能是树、图、网格或键值对。

列式数据库

列式数据库能压缩冗余数据通常用于商务智能(BI)的应用,选择面向列的数据库(非关系的)和面向行的数据库(关系型的)需要进行衡量:

  • 当需要对很多行进行聚合计算时,面向列存储组织方式会更加高效
  • 当一次向所有行更新某个列时,面向列的存储组织方式会更加高效
  • 当同时需要获取一行中的许多列,并且行的体量相对较小,单次磁盘访问就能将整行数据检索时,面向行的存储组织更加高效
  • 如果写入一条新记录时同时要提供所有的行数据,那么面向行的组织效率更高;整个行的数据用单次磁盘操作写入。
  • 面向行的存储分布非常适合与在线事务处理(OLTP)类的工作负载,此类负载的重点是交互式事务;面向列的存储布局非常适用于在线分析处理(OLAP)类的工作负载。
空间数据库

空间数据库被优化用于存储和查询表示集合空间中的定义的对象数据,空间数据库支持基本类型和由点、线和形状组成的几何图形。空间数据库可以执行以下一个或多个操作:

  • 空间评估:计算线条程度、多边形面积、几何图形之前的距离等
  • 空间功能:修改现有特征以创建新特征
  • 空间预测:允许对几何图形之间的空间关系进行真假查询
  • 几何构造:通常通过描述所定义的顶点(点或节点)来创建新的几何图形
  • 观测功能:查询并返回某个特征的特定信息。
对象/多媒体数据库 多媒体数据库包括一个分层存储管理系统,用于高效管理磁介质和光存储介质,它还包括表示系统基础对象的集合。
平面文件数据库 平面数据文件描述了将数据集编码为单个文件的各种方法,平面文件可以是纯文本文件或二进制文件,指包含数据以及长度和分隔符不同的积累
键值对

键值对数据库的数据项包含两个部分:键的标识符和值

  • 文档数据库:面向文档的数据库包含由结构和数据组成的文件集合,可以使用XML或JSON
  • 图数据库:存储关键值对,关注的重点是组成图的节点关系,而不是节点本身。
三元组存储

三元组存储由表示资源的主语、表示资源和对象之间关系的谓语以及对象本身组成,是一个专门构建的数据库,用于以主-谓-宾表达式的形式存储和检索三元组,最适合分类和同义词管理、链接数据集成和知识门户。

  • 原生三元组存储:从零开始实现并利用RDF数据模型来高效地存储和访问RDF数据的三元组存储
  • RDBMS支持的三元组存储:在现有的RDBMS之上添加RDF描述层构建的三元组存储
  • NoSQL三元组存储:目前正在被研究将来可能的RDF存储管理器。

1.3.9 专用数据库

  • 计算机辅助设计和制造(CAD/CAM):其程序和大多数嵌入式的实时应用程序一样,需要一个对象数据库
  • 地理信息系统(GIS):一些每年保持更新参与数据的地理空间信息专用数据库
  • 购物车功能:在大多数在线零售网站上都有采用,利用XML数据库暂时存储客户订购数据以及用于社交媒体数据库在其他网络上进行实时广告投放。

1.3.10 常见数据库过程

(1)数据归档

归档是将数据从可立即访问的存储介质迁移到查询性能较低的存储介质上的过程。归档后的数据可以恢复到原系统,供短期使用。归档过程必须与分区策略保持一致,以确保最佳额可用性和数据保留度,稳妥的方法包括:

  • 创建一个辅助存储区域,优先建在辅助数据库服务器上
  • 将当前的数据库表分区成可以归档的单元
  • 将不经常使用的数据复制到单独的数据库
  • 创建磁盘或磁盘备份
  • 创建数据库任务,定期清理不在使用的数据

当归档数据不同步或不一致时,有以下几种处理方法:

  • 确定是否保留历史归档或有多少历史归档需要保留,不需要的历史归档可以清楚。
  • 对于重大技术调整,在调整前将归档恢复到原始系统、升级或迁移到新系统,并在新系统下重新归档数据
  • 对于源数据库结构发生更改的高价值归档数据,恢复归档,并对数据结构进行相应更改,用新结构重新归档。
  • 对相对低价值的低频访问归档,在源系统的技术或结构发生改变时,保持就系统的小版本,供有限的数据访问,并根据需要用旧系统的数据格式从归档中抽取数据

(2)容量和增长预测

容量是随着时间的推移保持不变,还是必须随着时间的推移而扩大,以便确定存放更多的数据。

(3)变动数据捕获(CDC)

变动数据捕获指检测到数据的变动并确保与变动相关的信息被适当记录的过程,CDC通常指的是基于日志的复制,是一种非侵入性方法,将数据更改复制到目标端而不影响源端。

有两种不同的检测和收集更改方法:数据版本控制-评估标识已改动过行的列,或通过读取日志,日志里记录了变化,并能将变化复制到辅助系统中。

(4)数据清除(Purging)

清除指从存储介质中彻底删除数据并让它无法恢复的过程,数据管理的主要目标是维护数据的成本不应超过其对组织的价值。

(5)数据复制

数据复制意味着多个存储设备上存放着相同的数据,复制的两种模式:

  • 主动复制:不存在主副本,可在每个副本上主动创建和存储来自其他副本的相同数据
  • 被动复制:首先在主副本上创建和存储数据,然后把更改的状态传送到其他副本上。

数据复制有两个维度的扩展方式

  • 水平数据扩展:拥有更多的数据副本
  • 垂直数据扩展:将数据副本放到举例更远的不同地理位置上。

两种主要复制方式

  • 镜像:作为两阶段提交过程的一个部分,在主库的更新会立即同步到辅助数据库
  • 日志传送:辅助数据库定时接收并应用从主数据库传来的事务日志副本。

(6)韧性与恢复

数据库韧性是衡量系统对错误条件容忍度的指标,如一个系统能容忍高级别的处理错误,并仍能像预期的那样工作,那么它就具有很强的韧性。如应用程序一碰到意外条件就崩溃,那么系统就没有韧性。

数据处理错误包括数据加载失败、查询返回失败以及阻碍ETL或其他过程正常完成的错误。提供数据处理系统恢复能力的常见方法是:捕获并重新输入导致错误的数据,检测并忽略导致错误的数据。

以下提供三种恢复类型:

  • 立即恢复:有些问题有时需要设计来解决
  • 关键恢复:尽快恢复以减少业务延迟或业务中断的恢复计划
  • 非关键恢复:指该类业务可延迟恢复,直到更关键的系统恢复完毕

(7)数据保留

数据保留指数据保持可用的时间。

(8)数据分片

分片是一个把数据库中的一部分独立出来的过程。因为分配的复制只是一个很小的文件,所以分片可独立于其他分片进行更新。因为分片通常狠下,更新甚至这个那个分片刷新都很容易。

二、活动

数据存储和操作包括数据库技术支持和数据库操作支持两个主要活动。数据库技术支持侧重选择和维护用于存储和管理数据的软件,而数据库操作支持侧重软件所管理的数据和进程。

2.1 管理数据库技术

2.1.1 理解数据库的技术特征

数据专业人员必须先理解候选数据库技术的特点,然后才能确定将哪种技术推荐为解决方案。不能假设单一类型的数据库架构或数据库管理系统可以满足所有业务需求,大多数都安装了多种数据库工具,完成从性能优化、备份,到数据库自身管理的一系列功能。

2.1.2 评估数据库技术

选择DBMS软件时,应考虑下列因素:

  • 产品架构和复杂性
  • 容量和速度限制,包括数据流传送速率
  • 应用类别,如事务处理、商务智能、个人资料
  • 特殊功能,如时间计算支持
  • 硬件平台及操作系统支持
  • 软件支持工具的可用性
  • 性能测评,包括实时统计信息
  • 可扩展性
  • 软件、内存和存储需求
  • 韧性,包括错误处理和错误报告。

产品的费用,包括维护管理费用、许可费用和技术支持费用,不应超过产品对企业的价值。在进行全面的生成实施之前,从一个小的试点项目或概念验证项目(POC)开始引入产品,这是一个比较好的做法,这样可较真实地了解成本和收益

2.1.3 管理和监控数据库技术

DBA通常是作为后台技术支持与服务台和供应商的支持人员一起,理解、分析和解决用户问题。DBA要确保定期给数据库做备份,同时还要做恢复测试。当某项业务需要使用新技术时,DBA要与业务用户和应用程序开发人员合作,确保最有效地使用该技术,探索该技术的新应用,并解决使用过程中出现的任何问题。

2.2 管理数据库操作

DBA通过分配存储结构、维护物理数据库以及在服务器上建立数据库环境来管理各种数据存储应用程序。

2.2.1 理解需求

(1)定义存储需求

DBA为数据库管理系统(DBMS)应用程序建立存储系统,为NoSQL建立文件存储系统。网络存储管理员和DBA在建立文件存储系统方面都发挥着重要作用。正常业务运行中,数据存入存储介质,取决于要永久性存放还是临时性存放。需要考虑与数据保留相关的法律,组织需要保持特定时间周期的一些数据,过了规定的时间周期,还乤清除数据。

(2)识别使用模式

DBA要能预测使用模式的起伏转折,并有应对高峰期以及低谷期的适当流程。可预见的几种基本数据库模式包括:

  • 基于事务型
  • 基于大数据集的读或写型
  • 基于时间型(月末压力大、周末压力大等)
  • 基于位置型(人口集中地区有很多交易)
  • 基于优先级型(某些部门或某些批处理相对有更大权限的优先级)

(3)定义访问需求

数据访问包括与存储、获取或处理存在在其他数据库和资料库中的数据等相关活动,即数据访问就是授权访问不同数据文件的过程。

2.2.2 规划业务连续性

组织需要为灾难事件、影响系统或影响使用数据的不利事件进行业务连续性规划,DBA必须确保所有数据库和数据库服务器都有回复计划,包括可能导致数据丢失或数据损坏的场景,eg:

  • 物理数据库服务器失败
  • 一块或多块磁盘存储设备实效
  • 数据库失效,包括主要的数据库、临时的存储数据库和事务日志等
  • 数据库索引或数据页损坏
  • 数据库和日志段的文件系统失效
  • 数据库或事务日志的备份文件失效

如果备份不可用或不可读,则无法从灾难中恢复任何系统

(1)备份数据

SLA中应指定备份的频率,需要在数据的重要性和保护数据的成本之间作权衡,对大型数据库来说,过快的备份频率会消耗大量的存储空间和服务器资源。同时,数据库应存储在托管存储区域。对于频繁更新的数据库,更频繁的日志转储不仅可提供更大的保护,还可减少备份对服务器资源和应用程序的影响。

备份文件应该与数据库分开,存放到不同的文件系统中,每天备份的副本应该存储在安全且远离生成系统的场所中。大多数DBMS支持对数据库热备份(在应用程序运行时进行备份)、冷备份(要求数据库离线)。

(2)恢复数据

大多数备份软件都有从备份中读取并恢复到系统的功能,用于执行数据恢复的具体工具取决于数据库的类型。文件型数据库中数据比关系型数据库管理系统中数据更容易恢复;定期进行数据库的恢复测试非常重要,可减少灾难或紧急情况下发生意外。

2.2.3 创建数据库实例

DBA负责创建数据库实例,包括以下:

  • 安装和更新DBMS软件:DBA安装DBMS软件的新版本,从开发到生产的所有环境中安装由DBMS提供商提供的维护补丁;由DBA专家、安全专家和管理人员审查这些补丁并确定安装优先级;这是一项关键活动,可防御漏洞供给,并确保集中式和分布式安装环境中持续的数据完整性。
  • 维护多种环境的安装,包括不同的DBMS版本
  • 安装和管理环境管理。

(1)物理存储环境管理

物理存储环境管理需要遵循传统的SCM过程或信息技术基础设施库的方法,以记录对数据库配置、结构、约束、权限、阈值等的修改。SCM过程分为以下4个步骤:

  • 配置识别:DBA将与数据专员、数据架构师和数据建模师一起明确为终端用户所定制的各个方面的属性配置
  • 配置变更控制:一组用于更改配置项属性并重新对其进行基线化的流程和审批阶段
  • 配置状态报告:及时记录和报告任一点谁给你与每个配置项相关的配置基线
  • 配置审计:包括物理配置审计(确保配置项按其详细设计文档的要求尽心安装)和功能配置审计(确保配置项的性能属性得以实现)

(2)管理数据访问控制

DBA负责管理可访问数据的空间,监督以下功能:

  • 受控环境:DBA与网络存储管理员合作管理数据资产的受控环境,包括网络角色和权限管理、全天候监控和网络健康监控、防火墙管理、补丁管理和微软基准安全分析器集成管理。
  • 物理安全:物理资产的物理安全性基于简单网络管理协议的监控、数据审计日志记录、灾难管理和数据库备份计划进行管理。DBA配置且监视这些协议,监控对于安全协议尤其中重要。
  • 监控:DBA通过对关键服务记性连续的硬件和软件监控,来实现数据库系统的可用性。
  • 控制:DBA通过访问控制、数据库审计、入侵检测和漏洞评估工具来维护数据安全。

(3)创建存储容器

所有数据存储在一个物理设备上并被进行组织,以便加载、查询或检索。

(4)应用物理数据模型

DBA负责创建和管理完整的物理数据存储环境,以物理数据模型为基础,包括存储对象、索引对象以及执行数据质量规则、连接数据库对象以及实现数据库性能所需的任何封装代码对象。

(5)加载数据

大多数数据库系统都具有批量加载功能,大多还从第三方来源获取一些数据,还有将数据订阅服务的责任集中在数据分析人员上。

(6)管理数据复制

  • 主动或被动复制
  • 基于分布式数据系统的分布式并发控制
  • 在数据更新控制过程中,通过时间戳或版本号来识别数据更新的适当方式。

2.2.4 管理数据库性能

数据库性能取决于两个相互依赖因素:可用性和响应速度。性能包括确保空间的可用性、查询优化以及其他使用数据库以有效方式返回数据因素。通过以下步骤管理数据库性能:

  • 设置和优化操作系统及应用程序参数
  • 管理数据库连接
  • 与系统开发人员和网络管理员合作,优化操作系统、网络和事务处理中间件,以便数据库更好地运行
  • 提供合适的存储,让数据库与存储设备和存储管理软件有效配合
  • 提供容量增长预测,支撑存储获取和一般数据生命周期管理活动,包括保留、调优、存档、备份、清理和灾难恢复。
  • 与系统管理员一起,提供操作工作负载和基准,以支持SLA管理、收费计算、服务器容量以及规划的生命周期轮换。

(1)设置数据库性能服务水平

SLA通常会为一些应用程序事务确定一个最大允许执行时间。

(2)管理数据库可用性

可用性指系统或数据库可用于生产工作的时间百分比,以下4个相关因素影响系统可用性:

  • 可管理型:创建和维护环境的能力
  • 可恢复性:中断发生后重新重新建立服务的能力,修复由于不可预见的事件或组件故障导致的错误能力。
  • 可靠性:在规定时间内提供指定水平服务的能力
  • 可维护性:识别存在问题的能力,诊断原因,修复/解决问题

很多因素可能会影响数据库的可用性,包括:

  • 计划性停机:出于维护的考虑、出于升级的考虑
  • 非计划停机:服务器硬件故障、磁盘硬件故障、操作系统故障、数据库软件故障、数据中心站点故障、网络故障
  • 应用问题:安全和授权问题、严重性能问题、恢复失败
  • 数据问题:数据损坏(由于缺陷、架构设计或用户错误)、数据库对象丢失、数据复制问题
  • 人为错误

DBA有责任采取一切可能的方法确保数据库保持服务在线和正常运行,可能的工作和方法包括:

  • 运行数据库备份工具
  • 运行数据库重组工具
  • 运行统计信息搜集工具
  • 运行数据完整性检查工具
  • 自动执行上述这些工具
  • 利用表空间聚类和分区
  • 跨库进行数据复制保证高可用性

(3)管理数据库运行

DBA通过性能监控、快速有效相应问题的方式,对数据库性能进行主动和被动的优化,应定期对数据库管理系统和服务器制作活动和性能报告。

(4)维护数据库性能服务水平

事务性能与批处理性能:数据移动可能通过在线交易实时发生,许多数据移动和转换活动时通过批处理程序执行的,这些批处理作业必须在操作时间表的指定窗口中完成。DBA和数据集成专家监控批处理数据的工作性能,指出异常的完成时间和执行中的错误,并确定错误的根本原因及解决这些问题。

问题修复:当数据库性能出现问题时,DBA、网络存储管理员和服务器管理团队应还是用数据库管理系统的监控和管理工具来帮助确定问题的根源。数据库性能低下的常见原因如下:

  • 内存分配与争用:为数据分配缓冲区或缓存
  • 锁与阻塞:某些情况下,数据库运行的进程可能会锁定数据库资源,并阻塞另一个需要它们的进程。
  • 不准确的数据库统计信息
  • 不良代码:数据库性能差的最常见原因可能是SQL编码不良
  • 低效而复杂的表连接:使用视图来预先定义复杂的表连接
  • 不当的索引:编写复杂的查询和使用表上构建的索引来实现大表的查询
  • 应用程序活动
  • 过载的服务器:支持多个数据库和应用程序的数据库管理系统可能存在一个临界点,增加更多的数据库会对现有的数据库的性能产生不利影响。
  • 数据库的易变性:短时间内大量表的插入和删除会产生不准确的数据库分布统计数据,该情况下,应停止更新这些表的数据库统计。
  • 失控的查询语句

(5)维护备用环境

随着业务规则变更、业务流程更改和技术更改,开发和测试环境允许在变更被带入生成环境之前进行更改测试。DBA可将数据库结构和数据的全部或子集复制到其他环境中,以支持更改的开发和测试。有几种类型的替代环境:

  • 开发环境:用户创建和测试将在生成中执行的更改
  • 测试环境:有几种用途,如质量保证、集成测试、用户验收测试和性能测试
  • 数据沙箱:DBA通常要设置、授予沙箱的访问权限,并监视这些环境的使用情况,还应该确保沙箱是隔离的,不会对生产操作产生不利影响。
  • 备用的生成环境:被用来支持脱机备份、故障转移和韧性支持的系统。

2.2.5 管理测试数据集

测试数据可作为短期重新使用的数据而保存,用来创建和管理支持回归测试,或数据一次性使用后删除。DBA应监管项目的测试数据,定期清除就的测试数据以暴露数据库容量。

2.2.6 管理数据迁移

在数据迁移过程中,通常会执行自动和手动的数据修复,以提高数据质量、消除冗余或过时的消息,并适应新系统的需求。通过执行一些简单的例行任务,存储管理员可以使用数据迁移技术完成相关工作:

  • 将过度使用的存储设备上的数据转移到一个单独的环境中
  • 根据需要将数据移动到速度更快的存储设备上
  • 实施数据生命周期管理策略
  • 将数据从旧存储设备迁移到线下或云存储上

三、工具

3.1 数据建模工具

数据建模工具可帮助数据建模人员自动化执行许多任务,支持从数据库到数据模型进行逆向工程。更复杂的工具可验证命名标准、检查拼音、存储元数据,甚至可以发布信息到网站上。

3.2 数据库监控工具

数据库检测工具自动监测关键指标(如容量、可用性、缓存性能、用户统计等),并向DBA和网络存储管理员发出当前数据库问题报警。

3.3 数据库管理工具

数据库系统通常自带管理工具,一些第三方软件(包括配置功能、安装补丁和升级、备份和回复、数据库克隆、测试管理和数据清理任务)可协助DBA管理多种数据库。

3.4 开发支持工具

开发支持工具包含一个可视化界面,用于连接和执行数据库上的命令。

四、方法

4.1 在低阶环境中测试

对于操作系统、数据库软件、数据库变更以及代码更改的升级和补丁,首先要在最低阶配置的环境中安装和测试(开发环境),测试后再在下一阶的环境继续验证,最后安装部署到生产环境中。

4.2 物理命名标准

利用ISO/IEC11179-元数据注册表处理数据的语义、数据的表示和数据描述的注册。通过这些描述,可准确地理解数据语义,并对数据进行有用的描述。

4.3 所有变更操作校本化

在应用到生产之前,将更改脚本文件并在非生产环境下进行全面测试。

五、实施指南

5.1 就绪评估/风险评估

围绕两个中心思想:数据丢失的风险与技术准备有关的风险。

  • 数据丢失:由于技术或程序错误,或者处于恶意的目的,数据可能会丢失,组织需要制定一些制度来降低此类风险。随着王铎威胁的不断演变,建议进行SLA审计和数据审计来评估和规划风险缓存措施。
  • 技术准备:对于新技术,如非关系型数据库(NoSQL)、大数据、三元组存储和任务空间功能描述等需要IT技能和经验准备。

5.2 组织和文化变化

要了解利益相关方及其需求,制定清晰、简明、实用、以业务未中心的标准,尽可能以最好的方式完成工作。

  • 主动沟通:DBA在开发期间和开发完成后,都英语项目团队密切沟通,今早发现并解决问题。审查开发团队编写的数据访问代码、存储程序、视图和数据库函数,并帮助解决数据库设计中的问题。
  • 站在对方的立场上与之沟通
  • 保持专注于业务:应用程序开发的目标是满足业务需求并从项目中获得最大的价值。
  • 对他人要有帮助
  • 不断学习:评估在项目实施中遇到的挫折,吸取教训,以规避再次出现类似的问题。

六、数据存储和操作治理

6.1 度量指标

(1)数据存储的度量指标

  • 数据库类型的数量
  • 汇总交易统计
  • 容量指标
  • 已使用存储的数量
  • 存储容器的数量
  • 数据对象中已提交和未提交块或页的数量
  • 数据队列
  • 存储服务使用情况
  • 对存储服务提出的请求数量
  • 对使用服务的应用程序性能的改进

(2)性能度量评估指标

  • 事务频率和数量
  • 查询性能
  • API服务性能

(3)操作度量指标

  • 有关数据检索时间的汇总统计
  • 备份的大小
  • 数据质量评估
  • 可用性

(4)服务度量指标

  • 按类型的问题提交、解决和升级数量
  • 问题解决时间

6.2 信息资产跟踪

对软件使用许可、年度支持费用以及服务器租赁协议和其他固定费用,进行仔细跟踪和年度审计。不遵守许可协议会给组织带来严重的财务和法律风险。

6.3 数据审计与数据有效性

数据审计是根据定义的标准对数据集进行评估的过程,目的是为了确定数据存储是否符合合同和方法要求,可能包括一个项目特定和全面的检查表、所需的可交付成果和质量监控标准。

数据验证是根据既定的验收标准评估存储数据的过程,以确定其质量和可用性,DBA对数据审计和验证提供部分支持工作,包括:

  • 帮助制定和审查方法
  • 进行初步的数据筛查和审查
  • 开发数据监控方法
  • 应用统计信息、地理统计信息、生物统计信息等技术来优化数据分析
  • 支持采样及分析
  • 审核数据
  • 提供数据发现的支持
  • 担任与数据库管理相关问题的主体专家。

DAMA数据管理知识体系指南-读书笔记6相关推荐

  1. DAMA数据管理知识体系指南-读书笔记3

    第三章 数据治理 一.引言 职能:指导所有其他数据管理领域的活动: 目的:确保数据管理制度和最佳实践正确地管理数据. 1.1 业务驱动因素 数据治理的驱动因素大多聚焦于减少风险或改进流程. (1)减少 ...

  2. DAMA数据管理知识体系指南-读书笔记15

    第15章 数据管理成熟度评估 一.引言 成熟度模型通过描述各阶段能力特点来定义成熟度的级别.当一个组织满足某阶段能力特征时,就可以评估其成熟度等级,并制定一个提高能力的计划.它还可以帮助组织在等级评估 ...

  3. DAMA数据管理知识体系指南-读书笔记13

    第13章 数据质量 一.引言 数据质量管理包括在整个生命周期制定标准,在数据创建.转换和存储过程中完善质量,以及根据标准度量数据来管理数据.数据质量管理不是一个项目,而是一项持续性工作.它包括项目和维 ...

  4. DAMA数据管理知识体系指南-读书笔记16

    第16章 数据管理组织与角色期望 一.了解现有的组织和文化规范 数据管理组织应与公司的组织层级结构和资源保持一致.找到合适的人员,需要了解数据管理在组织内部的功能和政治作用.目标应该是跨职能的不同业务 ...

  5. 《DAMA数据管理知识体系指南》读书笔记-第十二章(元数据管理)

    目录 一.前言 二.内容结构 三.主要内容 1.引言 2.活动 3.工具 4.方法 5.实施指南 6.元数据治理 四.思考与总结 一.前言 本文是<DAMA数据管理知识体系指南>第12章的 ...

  6. 【数仓】DAMA数据管理知识体系指南

    [数仓]DAMA数据管理知识体系指南 金融类公司非常爱问数据治理.数据质量.元数据管理等问题. 中金公司笔试也考了 DAMA 数据治理的内容. 金融公司的开发工作较少,更多的是管理类工作 今天分享一本 ...

  7. dama数据管理知识体系指南第二版pdf_DMBOK数据管理 - CDMP认证培训

    专业数据从业者的体系课程和权威认证 1. DAMA和CDMP介绍 DAMA International成立于1988年,是一个由技术和业务专业人员组成的全球领域的非营利的独立于厂商的数据管理专业协 会 ...

  8. DAMA数据管理知识体系指南之数据管理和数据治理

    全网最全大数据面试提升手册! 简介:DAMA:国际数据管理协会,是一个全球性数据管理和业务专业志愿人士组成的非营利协会,是当前国际上在数据治理领域最权威的机构.DMBOK2则是DAMA组织众多数据管理 ...

  9. dama数据管理知识体系指南_DAMA知识体系解读(6)数据操作管理

    数据操作管理是提供从数据获取到数据清理的全过程支持,关联图: 一.概念 数据操作管理是结构化数据的开发.维护和支持活动.包括两个职能:数据库支持和数据技术管理.数据管理员(DBA)在该活动中起着重要的 ...

最新文章

  1. spring mvc返回json
  2. select模型详解
  3. iOS—OC——C——野指针
  4. 读完这篇文章,就基本搞定了Redis数据库
  5. redis集群搭建踩坑笔记
  6. 要多大内存才满足_佛龛的尺寸要多大?
  7. JavaScript实现碰撞检测(分离轴定理)
  8. 潘石屹没跑,他去学 Python 了
  9. thinkphp实现动态下拉菜单(补充 设置默认值)
  10. 【PostgreSQL-9.6.3】函数(3)--日期和时间函数
  11. 用DVD镜像离线安装Debian的软件包
  12. 安装和卸载程序时总是出现2502,2503错误代码的解决方法
  13. 多线程及Thread类、Runnable接口
  14. Compile LLVM+CLANG 4.0.1 for RHEL6
  15. 使用ComponentOne C1WebGrid控件
  16. java输出杨辉三角_使用Java输出杨辉三角
  17. Ping其他电脑ping不通的解决方法
  18. 我在华为的十年----徐家俊
  19. blastn 输出结果每列啥意思_如何看懂NCBI BLAST输出结果
  20. win10的Win快捷键使用简易操作方法

热门文章

  1. 剖析20世纪未来出行 这些畅想21世纪能成吗?
  2. CLAHE和改进型CLAHE红外成像质量对比
  3. android热门机型,Android手机在列 不足1K热门机型大搜索
  4. 蓝桥云课ROS机器人发布5年啦(原实验楼ROS机器人在线云实践课程)
  5. 华为路由器OSPF综合实验
  6. vue路由与动态路由
  7. Linux下安装Oracle 12cR2
  8. 使用Maven Archetype创建Java项目模板
  9. 有关java的名句_志气的经典名言名句(精选50句)
  10. 通知 | 中秋节放假安排