DAMA数据管理知识体系(第6章 数据存储和操作)
- 课本内容
- 6.1 引言
- 语境关系图
- 图6-1 语境关系图:数据存储与操作
- 图6-1 语境关系图:数据存储与操作
- 业务驱动因素
- 主要驱动因素是业务连续性
- 目标和原则
- 目标
- 1)在整个数据生命周期中管理数据的可用性。
- 2)确保数据资产的完整性。
- 3)管理数据交易事务的性能。
- 原则
- (1)识别自动化的机会并采取行动
- (2)构建时就考虑重用的思想
- (3)理解并适当使用最佳实践
- (4)支持数据库的标准需求
- (5)为项目中的DBA角色设置期望值
- 目标
- 基本概念
- 数据库术语
- 数据库
- 实例
- 通过数据库软件,执行对某一特定存储区域的控制访问。
- 模式
- 模式是数据库或实例中的数据库对象的一个子集(Subset)。模式被用来将数据库对象组织成多个可管理的集合。
- 节点
- 数据库抽象
- 数据生命周期管理
- 数据生命周期管理包括为数据的获取、迁移、保留、过期和处置进行的实施策略和过程。
- 管理员
- DBA被分为生产DBA、应用程序DBA、过程和开发DBA
- 生产DBA
- 生产DBA主要负责数据操作管理
- 1)通过性能调优、监控、错误报告等活动,确保数据库的性能及可靠性。
- 2)通过建立备份与恢复机制,确保在任何意外情况下数据能够被恢复。
- 3)通过建立集群和容错机制,确保数据连续可用。
- 4)执行其他数据库维护活动,如建立数据归档机制
- 生产DBA创建以下可交付结果
- 1)生产数据库环境,包括支持服务器上的数据库管理系统(DBMS)实例;提供足够的资源和容量,确保获得很好的性能;配置适当的安全性、可靠性和可用性级别。数据库系统管理员为DBMS的环境负责。
- 2)在生产环境中,控制数据库实施变更的机制和流程。
- 3)针对各种可能导致数据丢失或数据损坏的情况,建立确保数据完整、可用和恢复的机制。
- 4)建立任何可能发生在数据库或数据服务器上的错误检测和报告的机制。
- 5)提供与服务水平协议(SLA)相匹配的数据库服务,包括可用性、数据恢复及性能等。
- 6)建立伴随工作负载和数据量变化的数据库性能监控的机制和过程。
- 生产DBA主要负责数据操作管理
- 应用程序DBA
- 应用程序DBA通常负责所有环境(开发、测试、QA及生产)中的 一套或多套数据库,而不是指定负责管理某个环境的数据库系统
- 过程和开发DBA
- 过程DBA负责审查和管理数据库的过程对象。过程DBA专门开发和支持关系数据库控制和执行的过程逻辑:存储过程、触发器及用户自定义的函数(UDFs)。过程DBA确保过程逻辑是按规划进行的、可实施的、经过测试的、可共享的(可重用的)。
- 生产DBA
- 网络存储管理员
- 网络存储管理员(Network Storage Administrators,NSA)主要关注 支持数据存储阵列的软硬件
- DBA被分为生产DBA、应用程序DBA、过程和开发DBA
- 数据架构类型
- 集中式
- 集中式数据库将所有数据存放在一个地方的一套系统中,所有用户连接到这套系统进行数据访问。
- 分布式
- 联邦式
- 数据联邦提供的数据不需要对数据源进行额外复制或持久化。联邦数据库系统地将多个自治的数据库系统映射成一个单一的联邦数据库
- 由于是数据联邦,联邦数据库并没有将真实的数据整合到一起,而是通过数据互操作性将数据联邦视为一个大型对象来管理
- 非联邦式
- 非联邦数据库系统则是将非自治的数据库集成在一起,它们被集中的数据库管理系统控制、管理和约束
- 区块链数据库
- 区块链数据库属于一种联邦数据库,用于安全管理金融交易。
- 区块链数据库有两种结构类 型:单条记录和块。
- 联邦式
- 可视化/云计算平台
- 在云上实施数据库的一些方法
- 虚拟机镜像
- 数据库即服务(DaaS)
- 管理托管在云上的数据库
- 在云上实施数据库的一些方法
- 集中式
- 数据处理类型
- ACID
- 原子性
- 所有操作要么都完成,要么一个也不完成。
- 一致性
- 事务必须时刻完全符合系统定义的规则,未完成的事务必须回退。
- 隔离性
- 每个事务都是独立的
- 持久性
- 事务一旦完成,就不可撤销
- 原子性
- BASE
- 基本可用
- 即使节点发生故障,系统仍然能保证一定级别数据的可用性。数据可能过时,但系统仍然会给出响应。
- 软状态
- 数据处于持续流动的状态,当给出响应时,数据不保证是最新的。
- 最终一致性
- 数据在所有节点、所有数据库上最终状态是一致的,但并非每时每刻在每个事务里都是一致的。
- 基本可用
- 区别总结
- 表6-1 ACID和BASE的区别
- 表6-1 ACID和BASE的区别
- CAP定理
- CAP定理指的是分布式系统不可能同时 满足ACID的所有要求。系统规模越大,满足的要求点越少。分布式系 统必须在各种属性(要求)间进行权衡
- 一致性
- 系统必须总是按照设计和预期的方式运行
- 可用性
- 请求发生时系统时刻都保持可用状态,并对请求作出响应。
- 分区容错
- 偶尔发生数据丢失或者部分系统故障发生时,系统依然能够继续运行提供服务
- 一致性
- CAP定理指出,在任何共享数据的系统里,这3项要求最多只可能 同时满足其中两项。通常用“三选二”来说明
- CAP定理指的是分布式系统不可能同时 满足ACID的所有要求。系统规模越大,满足的要求点越少。分布式系 统必须在各种属性(要求)间进行权衡
- ACID
- 数据存储介质
- 磁盘和存储区域网络(SAN)
- 内存
- 列压缩方案
- 列式数据库(Columnar-based Databases)是为处理那些数据值存在大量重复的数据集而设计的
- 闪存
- 闪存具有集内存的访问速度和存储持久性于一体的特点。
- 数据库环境
- 生产环境
- 非生产环境
- 开发环境
- 测试环境
- 测试环境通常用于
- 质量保证测试
- 依据需求进行功能测试。
- 质量保证测试
- 集成测试
- 将独立开发或更新的多个模块作为一个整体系统进行测试。
- 用户验收测试
- 从用户视角进行系统功能测试。在这个场景下,测试用例是最常见的测试输入。
- 性能测试
- 任何时候都可考虑进行的高复杂度或大容量的测试,
- 测试环境通常用于
- 支持环境
- 特别用途环境
- 数据沙盒或实验环境
- 数据沙盒是允许以只读的方式访问和管理生产数据的另一个环境
- 数据库术语
- 数据库组织模型
- 数 据库通常以3种形式进行组织:层次型、关系型和非关系型
- 层次型
- 在层次型数据库中,数据被组织成具有强制的父子关系的树型结构:每个父级可以有多个子级,但每个子级只有一个父级(也称为一对多关系)。目录树是层次数据库的一个示例。XML使用的也是层次模型,
- 关系型
- 关系型数据库的变体包括多维数据库 和时态数据库
- 多维数据库
- 多维数据库(Multidimensional Database)技术将数据存储在一种数 据结构中,它允许同时对多个数据元素过滤器进行搜索。
- 多维数据库对数据的访问使用的是SQL的一个变体多维表达式
- 时态数据库
- 时态数据库(Temporal Database)是一种内置了支持处理涉及时间 数据的关系型数据库。面向时间的特性通常包括有效时间和事务时间。 这些特性可以组成双时态数据模型
- 多维数据库
- 关系型数据库的变体包括多维数据库 和时态数据库
- 非关系型
- 非关系型数据库(Non-relational Database)可以将数据存储为简单 的字符串或者完整的文件。
- 非关系型数据库提供了一种存储和检索数据的机制,与传统关系数据库相比,它使用的一致性模型约束较少。这种方法/机制的动机包括:简化设计、水平扩展性以及对可用性更好的控制
- 分类
- 列式数据库
- 空间数据库
- 空间数据库支持基本类型(简单的几何图形,如方框、矩形、立方体、圆柱体等)和由点、线和形状组合成的几何图形
- 对象/多媒体数据库
- 多媒体数据库(Multi-media Database)包括一个分层存储管理系统,用于高效管理磁介质和光存储介质。
- 平面文件数据库
- 平面文件数据库(Flat File Database)描述了将数据集编码为单个文件的各种方法。平面文件可以是纯文本文件或二进制文件。
- 键值对
- 文档数据库
- 图数据库
- 三元组存储
- 由主语、谓语和宾语组成的数据实体称为三元组存储
- 专用数据库
- 计算机辅助设计和制造(CAD / CAM)
- 地理信息系统(GIS)
- 购物车功能
- 非关系型数据库(Non-relational Database)可以将数据存储为简单 的字符串或者完整的文件。
- 常见数据库过程
- 数据归档
- 归档(Archiving)是将数据从可立即访问的存储介质迁移到查询性能较低的存储介质上的过程。
- 归档过程必须与分区策略保持一致,以确保最佳的可用性和数据保 留度。
- 容量和增长预测
- 对盒子要装进来的水果和包装材料的多少和多快所作出的预测,就称为增长预测(GrowthProjection)。
- 变动数据捕获
- 变动数据捕获(Change Data Capture,CDC)是指检测到数据的变动并确保与变动相关的信息被适当记录的过程。
- 数据清除
- 清除(Purging)是指从存储介质中彻底删除数据并让它无法恢复的过程。
- 数据复制
- 数据复制(Replication)意味着多个存储设备上存放着相同的数据。
- 复制模式
- 主动复制
- 不存在主副本,可以在每个副本上主动创建和存储来自其他副本的相同数据。
- 主动复制
- 被动复制
- 首先在主副本上创建和存储数据,然后把更改的状态传送到其他副本上。
- 复制方式
- 镜像
- 作为两阶段提交过程的一个部分,在主库的更新会立即(相对而言)同步给辅助数据库
- 日志传送
- 辅助数据库定时接收并应用从主数据库传来的事务日志副本。
- 镜像
- 数据归档
- 韧性与恢复
- 数据库韧性(Resiliency)是衡量系统对错误条件容忍度的指标。
- 恢复类型
- 立即恢复
- 关键性恢复
- 非关键性恢复
- 数据保留
- 数据保留(Retention)是指数据保持可用的时间。
- 数据分片
- 分片(Sharding)是一个把数据库中的一部分独立出来的过程。
- 层次型
- 数 据库通常以3种形式进行组织:层次型、关系型和非关系型
- 语境关系图
- 6.1 引言
- 6.2 活动
- 概要
- 数据存储和操作包括数据库技术支持和数据库操作支持两个主要活 动。数据库技术支持侧重选择和维护用于存储和管理数据的软件,而数 据库操作支持侧重软件所管理的数据和进程
- 管理数据库技术
- 理解数据库的技术特征
- 评估数据库技术
- 管理和监控数据库技术
- 管理数据库操作
- 理解需求
- 定义存储需求
- 数据存储需求必须考虑与数据保留相关的法规。出于合规考虑,组 织需要保留特定时间周期的一些数据
- 识别使用模式
- 可预见的几种基本的数据库使用模式
- 1)基于事务型。2)基于大数据集的读或写型。3)基于时间型(月末压力大、周末压力轻等)。4)基于位置型(人口集中的地区有更多交易等)。5)基于优先级型(某些部门或者某些批处理相对有更大权限的优先级)。
- 可预见的几种基本的数据库使用模式
- 定义访问需求
- 定义存储需求
- 规划业务连续性
- 备份数据
- 如果对数据库做备份,条件允许的话,还要对数据库事务日志做备 份。
- 备份文件应该与数据库分开,存放到不同的文件系统中
- 恢复数据
- 文件型数据库中的数据比关系型数据库管理系统中的数据更容易恢复
- 定期进行数据库的恢复测试是非常重要的
- 备份数据
- 创建数据库实例
- 物理存储环境管理
- 管理数据访问控制
- 受控环境
- 物理安全
- 监控
- 控制
- 创建存储容器
- 应用物理数据模型
- 加载数据
- 管理数据复制
- 管理数据库性能
- 设置数据库性能服务水平
- 管理数据库可用性
- 可用性是指系统或数据库可以用于生产工作的时间百分比。
- 以下4个相关因素影响系统可用性
- 可管理性
- 可恢复性
- 可靠性
- 可维护性
- 许多因素可能会影响数据库的可用性
- 1)计划性停机
- ①出于维护的考虑。②出于升级的考虑
- 2)非计划停机
- ①服务器硬件故障。②磁盘硬件故障。③操作系统故障。④数据库软件故障。⑤数据中心站点故障。⑥网络故障。
- 3)应用问题。
- ①安全和授权问题。②严重性能问题。③恢复失败。
- 4)数据问题。
- ①数据损坏(由于缺陷、架构设计或者用户错误)。②数据库对象丢失。③数据丢失。④数据复制问题。
- 5)人为错误。
- 1)运行数据库备份工具。2)运行数据库重组工具。3)运行统计信息搜集工具。4)运行数据完整性检查工具。5)自动执行上述这些工具。6)利用表空间聚类和分区。7)跨库进行数据复制保证高可用性。
- 1)计划性停机
- 管理数据库运行
- 维护数据库性能服务水平
- 事务性能与批处理性能
- 问题修复
- 数据库性能低下原因
- ①内存分配和争用。为数据分配缓冲区或缓存。
- ②锁与阻塞。
- ③不准确的数据库统计信息。
- ④不良代码。
- ⑤低效而复杂的表连接。
- ⑥不当的索引。
- ⑦应用程序活动。
- ⑧过载的服务器。
- ⑨数据库的易变性。
- ⑩失控的查询语句。
- 数据库性能低下原因
- 维护备用环境
- 开发环境
- 测试环境
- 数据沙箱
- 备用的生产环境
- 管理测试数据集
- 管理数据迁移
- 数据迁移是在尽可能不改变数据的情况下,在不同存储类型、格式 或计算机系统之间传送数据的过程
- 理解需求
- 概要
- 6.3 工具
- 数据建模工具
- 数据库监控工具
- 数据库管理工具
- 开发支持工具
- 6.4 方法
- 在低阶环境中测试
- 物理命名标准
- 利用ISO/IEC 11179-元数据注册表(Metadata Registries,MDR)处理数据的语义、数据的表示和数据描述的注册。
- 所有变更操作脚本化
- 在应用到生产之前,将 更改脚本文件并在非生产环境下进行全面测试,会非常有帮助
- 6.5 实施指南
- 就绪评估/风险评估
- 数据丢失
- 技术准备
- 组织和文化变化
- DBA应做内容
- 主动沟通
- 站在对方的立场上与之沟通
- 例如,同业务人员交流业务需求和投资回报会更好一些,与开发人员讨论面向对象、松耦合和开发的易用性更合适一些。
- 保持专注于业务。
- 应用程序开发的目标是满足业务需求并从项 目中获得最大的价值。
- 对他人要有帮助
- 不断学习
- DBA应做内容
- 就绪评估/风险评估
- 6.6 数据存储和操作治理
- 度量指标
- 数据存储的度量指标
- 1)数据库类型的数量。2)汇总交易统计。3)容量指标。4)已使用存储的数量。5)存储容器的数量。6)数据对象中已提交和未提交块或页的数量。7)数据队列。8)存储服务使用情况。9)对存储服务提出的请求数量。10)对使用服务的应用程序性能的改进。
- 性能度量评估指标
- 1)事务频率和数量。2)查询性能。3)API服务性能。
- 操作度量指标
- 1)有关数据检索时间的汇总统计。2)备份的大小。3)数据质量评估。4)可用性。
- 服务度量指标
- 1)按类型的问题提交、解决和升级数量。2)问题解决时间。
- 数据存储的度量指标
- 信息资产跟踪
- 数据审计与数据有效性
- 数据审计是根据定义的标准对数据集进行评估的过程,通常是对数 据集的特定关注点进行审计
- 数据验证是根据既定的验收标准评估存储数据的过程,以确定其质 量和可用性
- 度量指标
- 考察分值&知识点
- 考察分值
- 2分
- 考察分值