1 文章结构脑图
2 基本概念
2.1 数据库术语
2.2 数据生命周期管理
数据生命周期管理: 包括为数据的<font color= "red">获取、迁移、保留、过期和处置</font>进行的实施策略和过程。
2.3 管理员
DBA 为<font color= "red">开发环境、测试环境、QA 环境和其他特殊数据库环境</font>提供支持。不是独立完成数据存储和操作活动的唯一角色 。可分为生产 DBA、应用程序 DBA、过程和开发 DBA、网络存储管理员 NSA。<font color="green">P130</font>
生产 DBA : 主要负责数据操作管理,包括:1)通过<font color= "red">性能调优、监控、错误报告</font>等活动,确保数据库的<font color= "red">性能及可靠性</font>。2)通过建立<font color= "red">备份与恢复机制</font>,确保在任何意外情况下数据能够被<font color= "red">恢复</font>。3) 通过建立<font color= "red">集群和容错机制</font>,确保数据连续<font color= "red">可用</font>。4)执行其他数据库<font color= "red">维护活动</font>,如建立数据归档机制。<font color="green">P130</font>
生产 DBA 交付的成果: 1)生产数据库环境,确保性能,配置适当的安全性、可靠性和可用性级 别。数据库系统管理员为 DBMS 的环境负责。2)控制数据库实施变更的机制和流程。3)建立 确保数据完整、可用和恢复的机制。4)建立错误检测和报告的机制。5)提供与服务水平协议 (SLA)相匹配的数据库服务。6)建立性能监控的机制和过程。<font color="green">P130</font>
应用程序 DBA: 负责所有环境(开发、测试、QA 及生产)中的一套或多套数据库,而不是指定 负责管理某个环境的数据库系统。<font color="green">P131</font>
过程和开发 DBA: 负责审查和管理数据库的过程对象。<font color="green">P131</font>
网络存储管理员 NSA: 关注支持数据存储阵列的软硬件。<font color="green">P131</font>
2.4 数据架构类型
数据架构类型: 集中式数据库、分布式数据库:联邦的(自治的)、非联邦的(非自治的)。<font color="green">P131</font>
集中式数据库: 将所有数据存放在一个地方的一套系统中,所有用户连接到这套系统进行数据访问。
联邦数据库 对于类似企业信息集成、数据可视化、模式匹配和主数据管理这样异构和分布式的集成项目非常合适。分为松耦合、紧耦合。 <font color="green">P132</font> 见下图6-2
数据联邦提供的数据不需要对数据源进行额外复制或持久化。
联邦数据库系统地将多个自治的数据库系统映射成一个单一的联邦数据库。
松耦合联邦系统需要多个组件数据库来构造他们自己的联邦模式。
紧耦合联邦系统由组件数据库系统组成,用独立的进程构造,发布一个集成的联邦模式。
区块链数据库 是一种<font color="red">联邦数据库</font>,它有单条记录和块两种结构类型。<font color="green">P132</font>
在云上实施数据库的方法: <font color="red">虚拟机镜像。数据库即服务 DaaS。管理托管云上的数据库。</font><font color="green">P133</font>
DBA 需要建立系统的项目集成机制: <font color="red">标准化/整合。服务器虚拟化。自动化。安全。</font> <font color="green">P134</font>
2.5 数据处理类型
数据库处理有两种基本类型: ACID和BASE。ACID(英文中有“酸”的意思)和BASE(英文中有“碱”的意思)是PH酸碱度范围对立的两端。CAP定理用于界定分布式系统与ACID(强调一致性C)还是与BASE(强调可用性A)更加接近。 <font color="green">P134</font>
ACID: 1)原子性(Atomicity)。2)一致性(Consistency)。3)隔离性(Isolation)。4)持久 性(Durability)。<font color="green">P134</font>
<font color="red">在关系型数据库存储中,ACID相关技术是最主要的工具,通常采用SQL作为接口。</font>
BASE: 1)基本可用(Basically Available)。2)软状态(Soft State)。3)最终一致性(Eventual
Consistency)。<font color="green">P135</font> 见下表3-3
CAP: <font color="red">1)一致性(Consistency)。2)可用性(Availability)。3)分区容错(Partition Tolerance)。</font> 3 选 2。Lambda 架构使用,当可用性和分区容错更重要时采用 Speed 路径,当一致性和可用性更重要时采用 Batch 路径。<font color="green">P135</font>
CAP定理指的是分布式系统不可能同时满足ACID的所有要求。
CAP定理指出,在任何共享数据的系统里,这3项要求最多只可能同时满足其中两项。见下图 3-4
2.6 数据存储介质
数据存储介质: 磁盘和存储区域网络 SAN。内存。列压缩方案。闪存。<font color="green">P136</font>
2.7 数据库环境
数据库环境: 生产环境。非生产环境(<font color="red">开发环境。测试环境。数据沙盒或实验环境</font>。)<font color="green">P137</font>
2.8 数据库组织模型
数据库组织模型: 1 层次型数据库。2 关系型(多维数据库。时态数据库。)。3 非关系型(列 式。空间。对象/多媒体。平面文件。键值对(文档数据库、图数据库)。三元组存储(原生三元组存储、RDBMS支持的三元组存储和NoSQL三元组存储)。)<font color="green">P138-139</font>
2.9 专用数据库
有些特殊情况需要特殊类型的专用数据库,它们的管理方式不同于传统关系型数据库。例如:1)计算机辅助设计和制造(CAD / CAM)。2)地理信息系统(GIS)。3)购物车功能。
2.10 常见数据库过程
常见数据库过程: 1 数据归档。2 容量和增长预测。3 变动数据捕获。4 数据清除。5 数据复制 【主动复制。被动复制】【水平数据扩展。垂直数据能容纳】【两种复制方式:镜像。日志传送】。 6 韧性与恢复【立即恢复。关键恢复。非关键恢复】。7 数据保留。8 数据分片。<font color="green">P142-143</font>
3 语境关系图
3.1 定义
<font color="red">数据存储与操作包括对存储数据的设计、实施和支持,最大化实现数据资源的价值,贯穿于数据创建/获取到处置的整个生命周期。</font>
定义: 管理数据存储的设计、实现和支持活动,以实现其最大化价值。<font color="green">P127</font>
3.2 目标
目标: 1 贯穿整个数据生命周期,管理数据的<font color="red">可用性</font>。2 确保数据资产的<font color="red">完整性</font>。3 管理数据交 易的性能。<font color="green">P128</font>
DBA 遵循的指导原则: 1 识别自动化的机会并采取行动。2 构建时就考虑重用的思想。3 理解并 适当使用最佳实践。4 支持数据库的标准需求,(服务水平协议(SLA))。5 为项目中的 DBA 角色设置期望值。<font color="green">P128-129</font>
3.3 业务驱动因素
业务驱动因素: 保障业务连续性。<font color="green">P128</font>
3.4 输入
输入: 数据架构。数据需求。数据模型。服务级别协议。<font color="green">P127</font>
3.5 活动
数据存储和操作 包括<font color="red">数据库技术支持和数据库操作支持两个主要活动</font>。数据库技术支持侧重<font color="red">选择和维护用于存储和管理数据的软件</font>,而数据库操作支持侧重<font color="red">软件所管理的数据和进程</font>。<font color="green">P145</font>
3.5.1 管理数据库技术
技术管理的主要参考模型: 是<font color="red">信息技术基础设施库(ITIL)</font>。ITIL是英国开发的一种技术管理过程模型,其原则对数据库管理技术同样适用。
理解数据库的技术特征: 理解技术是如何工作的,以及它在特定业务环境中如何提供价值是非常重要的。<font color="green">P146</font>
评估数据库技术: 应考虑:1)产品架构和复杂性。2)容量和速度限制,包括数据流传送速率。3)应用类别,如事务处理、商务智能、个人资料。4)特殊功能, 如时间计算支持。5)硬件平台及操作系统支持。6)软件支持工具的可用性。7)性能评测,包括实时统计信息。8)可扩展性。9)软件、内存和存储需求。10)韧性,包括错误处理和错误报告。
与采购组织和供应商关系不的因素: 1)组织对技术风险的偏好。2)提供训练有素的技术专业人员。3)拥有成本,如软件许可费、维护费和计算资源成本。4)供应商声誉。5)供应商支持策略和版本计划。6)其他客户案例。<font color="green">P146</font>
管理和监控数据库技术: 关键在培训。要定期备份,同时做恢复测试。<font color="green">P147</font>
3.5.2 管理数据库操作
<font color="red">DBA和网络存储管理员提供的数据库支持是数据管理的核心。</font>
1 理解需求: (1)<font color="red">定义存储需求</font>。永久性还是临时性;初始容量; 空间增长预测;数据保留合规性;(2)<font color="red">识别使用模式</font>。(3)<font color="red">定义访问需求</font>。<font color="green">P147-148</font>
几种基本的数据库使用模式: <font color="red">1)基于事务型。2)基于大数据集的读或写型。3)基于时间型。 4)基于位置型。5)基于优先级型。</font> <font color="green">P148</font>
数据访问: 就是授权访问不同数据文件的过程。<font color="green">P148</font>
2 规划业务连续性: 组织要为灾难事件、影响系统或影响使用数据的不利事件进行业务连续性规划。管理层和组织的业务连续性字处理团队应审查 和批准数据恢复计划。DBA 团队应定期审查计划的准确性和全面性。(1)备份数据。(2)恢复数据。<font color="green">P148-149</font>
3 创建数据库实例: 1)安装和更新 DBMS 软件。2)维护多种环境的安装。3)安装和管理相关的数据技术。<font color="green">P149-150</font>
安装和管理相关的数据技术: <font color="red">(1)物理存储环境管理。(2)管理数据访问控制</font>【受控环境。物理安全。监控。控制。】<font color="red">(3)创建存储容器。(4)应用物理数据模型。(5)加载数据。(6) 管理数据复制。</font>【主动或被动复制。基于分布数据系统的分布式并发控制。在数据更改控制过程 中,通过时间戳或版本号来识别数据更新的适当方法。】<font color="green">P150-152</font>
软件配置管理 SCM 的四个步骤: 配置识别、配置变更控制、配置状态报告、配置审计(物理配 置审计。功能配置审计)。<font color="green">P150</font>
管理数据访问控制。 DBA为保护数据资产和数据完整性对以下功能进行监督: 受控环境。物理安全。监控。控制。<font color="green">P150</font>
4 管理数据库性能: 步骤:1)设置和优化操作系统及应用程序参数。 2)管理数据库连接。3)与系统开发人员和网络管理员合并,优化操作系统、网络和事务处理中间件。4)提供合适的存储。5)提供容量增长预测。6)与系统管理员一起,提供操作工作负载 和基准,以支持 SLA 管理、收费计划、服务器容量及规划的生命周期轮换。<font color="green">P152-153</font>
管理数据库性能的内容: (1)设置数据库性能服务水平。(2)管理数据库可用性。【可管理性。 可恢复性。可靠性。可维护性】(3)管理数据库运行。(4)维护数据库性能服务水平。(5) 维护备用环境。<font color="green">P152-153</font>
影响数据可用性的因素: 计划性停机。非计划停机。应用问题。数据问题。人为错误。<font color="green">P153</font>
确保可用性的工具: 备份工具。重组工具。统计信息搜索工具。数据完整性检查工具。自动执行上述工具。利用表空间聚类和分类。跨库进行数据复制保证高可用性。<font color="green">P154</font>
数据库性能低下的常见原因: 内存分配和争用。锁与阻塞。不准确的数据库统计信息。不良代码。 低效而复杂的表连接。不当的索引。应用程序活动。过载的服务器。数据库的易变性。失控的查询语句。<font color="green">P154-155</font>
替代环境类型: 开发环境。测试环境。数据沙箱。备用的生产环境。<font color="green">P155-156</font>
5 管理测试数据集: 测试数据的生成是软件测试中的一个关键步骤。
6 管理数据迁移: 数据迁移是在尽可能不改变数据的情况下,在不同存储类型、格式或计算机系统之间传送数据的过程。
存储管理员就可以使用数据迁移技术完成相关工作: 1)将过度使用的存储设备上的数据转移到一个单独的环境中。2)根据需要将数据移动到速度更快的存储设备上。3)实施数据生命周期管理策略。4)将数据从旧的存储设备(无论是报废还是停止租赁)迁移到线下或云存储上。
3.6 交付成果
交付成果: <font color="red">数据库技术评估标准。数据库环境。迁移/复制/多版本数据。业务连续规划。数据库 性能操作级别协议 OLA。</font><font color="green">P127</font>
3.7 技术驱动因素
3.8 方法
方法: 在低阶环境中测试。物理命名标准。所有变更操作脚本化。<font color="green">P158</font>
3.9 工具
工具: 数据建模工具。数据库监控工具。数据库管理工具。开发支持工具。<font color="green">P127</font>
3.10 度量指标
度量指标。 (1)数据存储的度量指标。(2)性能度量评估指标。(3) 操作度量指标。(4)服务度量指标。<font color="green">P160-161</font>
数据存储的度量指标: 1)数据库类型的数量。2)汇总交易统计。3)容量指标。4)已使用 存储的数量。5)存储容器的数量。6)数据对象中已提交和未提交块或页的数量。7)数据队 列。8)存储服务使用情况。9)对存储服务提出的请求数量。10)对使用服务的应用程序性 能的改进。
性能度量评估指标: 1)事务频率和数量。2)查询性能。3)API 服务性能。
操作度量指标: 1)有关数据检索时间的汇总统计。2)备份的大小。3)数据质量评估。4)可用性。
服务度量指标: 1)按类型的问题提交、解决和升级数量。2)问题解决时间。
4 实施指南
就绪评估/风险评估: (1)数据丢失。使用 SLA 审计和数据审计来评估和规划风险缓解措施。 (2)技术准备。<font color="green">P159</font>
组织和文化变化; DBA 往往不能有效提升自身工作对组织的价值。在应用发发时,常把数据管理 视为应用程序开发的障碍。
DBA 应要: (1)主动沟通。(2)站在对方的立场上与之沟通。(3) 保持专注于业务。(4)对他人要有帮助。(5)不断学习。<font color="green">P159-160</font>
5 数据存储和操作治理
数据存储治理 的一部分是确保数据库遵守所有许可协议和监管要求。审计数据可以帮助确定每 种技术和产品的总扔有成本(TCO)。<font color="green">P161</font>
数据审计是根据定义的标准对数据集进行评估的过程,通常是对数据集 的特定关注点进行审计。
审计的目的是为了确定数据的存储是否符合合同和方法要求。
数据审计方法可能包括一个项目特定和全面的检查表、所需的可交付成果和质量控制标准。
数据验证是根据既定的验收标准评估存储数据的过程,以确定其质量和可用性。
数据验证程序依赖于数据质量 团队(如果该团队存在)或其他数据使用者的需求所建立的标准。 <font color="green">P161</font>
DBA 对数据审计和验证提供部分支持工作,包括: 1)帮助制定和审查方法。2)进行初步的数 据筛选和审查。3)开发数据监控方法。4)应用统计信息、地理统计信息、生物统计信息等技术 来优化数据分析。5)支持采样及分析。6)审核数据。7)提供数据发现的支持。8)担任与数据 库管理相关问题的主题专家。 <font color="green">P161</font>
6 关键架构图
-
图6-1 数据存储和操作语境关系图
-
图6-2 联邦数据库
-
表3-3 ACID和BASE的区别
-
图3-4 CAP定理