导图社区 DAMA数据管理第6章
DAMA数据管理第6章详细思维导图,数据存储和操作。常见数据库过程:数据归档、容量和增长预测;变动数据捕获、数据清除。
编辑于2022-12-01 14:55:10 浙江省DAMA数据管理
第6章 数据存储和操作
6.1 引言
定义:数据存储与操作包括对存储数据的设计、实施和支持,最大化实现数据资源的价值。
6.1.1 业务驱动因素:主要驱动因素是业务连续性。
6.1.2 目标和原则
目标
1)在整个数据生命周期中管理数据的可用性。
2)确保数据资产的完整性。
3)管理数据交易事务的性能。
原则
1)识别自动化的机会并采取行动
2)构建时就考虑重用的思想
3)理解并适当使用最佳实践
4)支持数据库的标准需求
5)为项目中的DBA角色设置期望值
6.1.3 基本概念
1.数据库术语
(1)数据库:是存储数据的集合。一些大型数据库也称为实例或模式。
(2)实例:通过数据库软件,执行对某一特定存储区域的控制访问。
(3)模式:数据库或实例中的数据库对象的一个子集。模式的常见用法是将包含敏感数据的对象与普通用户群隔离。模式还可以表示具有相似性的数据库结构的集合。
(4)节点:一台单独的计算机作为分布式数据库处理数据或者存储数据的一个部分。
(5)数据库抽象:通用API通常用来调用数据库函数。ODBC是支持数据库抽象的一个API示例。
2.数据生命周期管理
数据生命周期:包括数据的获取、迁移、保留、过期和处置进行的实施策略和过程。
稳妥的做法:准备好检查表,确保所有的任务都能高标准、高质量的完成。
3.管理员(DBA)
生产DBA
主要负责数据操作管理
性能调优、监控、错误报告
建立备份与恢复机制
建立集群和容错机制
建立数据归档机制等
应用程序DBA
负责所有环境(开发、测试、QA及生产)中的一套或多套数据库。
过程和开发DBA
过程DBA:负责审查和管理数据库的过程对象
开发DBA:主要关注数据设计活动
网络存储管理员NSA
主要关注支持数据存储阵列的软硬件。
4.数据架构类型
1)集中式数据库
将所有数据存放在一个地方的一套系统中,将所有用户连接到这套系统进行数据访问。
2)分布式数据库
分布式系统管理多个系统上的多个数据库。
联邦数据库(自治的)
联邦数据库并没有将真实的数据整合到一起,而是通过数据互操作性将数据联邦视为一个大型对象来管理。数据联邦提供的数据不需要对数据源进行额外复制或持久化。
联邦数据库系统将多个自治的数据库系统映射成一个单一的联邦数据库。
松耦合联邦系统:需要多个组件数据库来构造他们自己的联邦模式。
紧耦合联邦系统:由组件数据库系统组成,用独立的进程构造,相同的模式能适用于联邦的所有部分,无须进行数据复制。
区块链数据库:用于安全管理金融交易。区块链数据库有两种结构类型:单条记录和块。
非联邦的(非自治的)
3)可视化/云计算平台
虚拟化提供计算、软件、数据访问和存储服务,不要求终端用户了解提供服务系统的物理位置和相关配置。
云上实施数据库的一些方法
虚拟机镜像
数据库即服务DaaS
管理托管在云上的数据库
5.数据处理类型
1)ACID强调一致性C-关系型数据库
原子性(Atomicity)
所有操作要么都完成,要么一个也不完成。因此,如果事务中的某部分失败,那么整个事务都会失败。
一致性(Consistency)
事务必须时刻完全符合系统定义的规则,未完成的事务必须回退。
隔离性(Isolation)
每个事务都是独立的。
持久性(Durability)
事务一旦完成就不可撤销。
2)BASE强调可用性A-大数据
基本可用(Basically Available)
即使节点发生故障,系统仍然能保证一定级别数据的可用性。数据可能过时,但系统仍然会给出响应。
软状态(SoftState)
数据处于持续流动的状态,当给出响应时,数据不保证是最新的。
最终一致性(Eventual Consistency)
数据在所有节点、所有数据库上最终状态是一致的,但并非每时每刻在每个事务里都是一致的。
3)CAP-分布式系统,三选二
一致性(Consistency)
系统必须总是按照设计和预期的方式运行
可用性(Availability)
请求发生时系统时刻都保持可用状态,并对请求作出响应。
分区容错(Partition Tolerance)
偶尔发生数据丢失或者部分系统故障发生时,系统仍然能够继续运行提供服务。
CAP定理指出,在任何共享数据的系统里,这3项要求最多只可能同时满足其中两项。
6. 数据存储介质
磁盘和存储区域网络(SAN)
内存
列压缩方案
闪存
7.数据库环境
生产环境
非生产环境
开发环境
测试环境
数据沙盒或实验环节
数据沙盒是允许以只读的方式访问和管理生产数据的另一个环境。数据沙盒的价值如同进行一场POC。
8.数据库组织模型
(1)层次型数据库
数据被组织成具有强制的父子关系的树型结构。
(2)关系型数据库
基于集合理论和关系代数,其中数据元素或属性(列)与元组(行)相关。
关系型数据库管理系统被称为RDBMS
1)多维数据库
技术将数据存储在一种数据结构中,它允许同时对多个数据元素过滤器进行搜索。
数据仓库DW和商务智能BI
2)时态数据库
是一种内置了支持处理涉及时间数据的关系型数据库
有效时间:现实世界中一个真实事件或实体对象发生的时间范围。
事务时间:存储在数据库中的事实被认为是真实的时间段。
(3)非关系型数据库
可以将数据存储为简单的字符串或者完整的文件。
1)列式数据库:能压缩冗余数据,通常用于商务智能BI的应用。
2)空间数据库
被优化用于存储和查询表示几何空间中定义的对象数据
空间数据库支持基本类型(简单的几何图形,如方框、矩形、立方体、圆柱体等)和由点、线和形状组合成的几何图形。
空间数据库可以执行以下一个或多个操作
空间评估
空间功能
空间预测
几何构造
观测功能
3)对象/多媒体数据库
多媒体数据库包括一个分层存储管理系统,用于高效管理磁介质和光存储介质。
它还包括表示系统基础对象的集合。
4)平面文件数据库
平面文件数据库描述了将数据集编码为单个文件的各种方法。
纯文本文件或二进制文件
5)键值对数据库
键值对数据库的数据项包含两个部分:键的标识符和值
文档数据库:面向文档的数据库包含结构和数据组成的文件集合
图数据库:存储关键值对,关注的重点是组成图的节点关系,而不是节点本身。
6)三元组存储
由主语、谓语和宾语组成的数据实体称为三元组存储。
原生三元组存储
RDBMS支持的三元组存储
NoSQL三元组存储
选择面向列的数据库(非关系的)和面向行的数据库(通常是关系型的)需要进行权衡
1)当需要对很多行进行聚合计算时,面向列的存储组织方式会更加高效
2)当一次向所有行更新某个列时,面向列的存储组织更加高效,因为不必访问行里的其他列就有效地写入数据,替换旧的列数据。
3)当同时需要获取一行中的许多列,并且行的体量相对较小,单词磁盘访问就能将整行数据检索时,面向行的存储组织更加高效。
4)如果写入一条新纪录时同时要提供所有的行数据,那么面向行的组织效率更高,整个行的数据可以用单词磁盘操作写入。
5)在实践中,面向行的存储布局非常适合于在线事务处理类的工作负荷,此类负载的重点是交互式事务。面向列的存储布局非常适合于在线分析处理(OLAP)类的工作负载。
9.专用数据库
1)计算机辅助设计和制造(CAD/CAM)
其程序和大多数嵌入式的实时应用程序一样,需要一个对象数据库
2)地理信息系统(GIS)
一些每年保持更新参考数据的地理空间信息专业数据库
3)购物车功能
利用XML数据库暂时存储客户订购数据以及用于社交媒体数据库在其他网站上进行实时广告投放。
10.常见数据库过程
(1)数据归档
归档是将数据从可立即访问的存储介质迁移到查询性能较低的存储介质上的过程。
稳妥的方法包括
创建一个辅助存储区域,优先建在辅助数据库服务器上。
将当前的数据库表分区成可以归档的的单元。
将不经常使用的数据复制到单独的数据库
创建磁带或磁盘备份
创建数据库任务,定期清理不再使用的数据。
当归档数据不同步或不一致时,有以下几种处理方法
确定是否保留历史归档或有多少历史归档需要保留,不需要的历史归档可以清楚
对于重大技术调整,在调整前将归档恢复到原始系统,升级或迁移到新系统,并在新系统下重新归档数据。
对于源数据库结构发生更改的高价值归档数据,恢复归档,并对数据结构进行相应更改,用新结构重新归档。
对于相对低价值的低频访问归档,在源系统的技术或结构发生改变时,保持旧系统的小版本,供有限的数据访问,并根据需要用旧系统的数据格式从归档中抽取数据。
(2)容量和增长预测
(3)变动数据捕获
(4)数据清除
清除是指从存储介质中彻底删除数据并让它无法恢复的过程.
(5)数据复制
数据复制意味着多个存储设备上存放着相同的数据
两种模式
主动复制:不存在主副本,可以在每个副本上主动创建和存储来自其他副本的相同数据。
被动复制:首先在主副本上创建和存储数据,然后把更改的状态传送到其他副本上。
两个维度的扩展方式
水平数据扩展:拥有更多的数据副本
垂直数据扩展:将数据副本放到距离更远的不同地理位置上。
两种复制方式
镜像:作为两阶段提交过程的一个部分,在主库的更新会立即同步给辅助数据库
日志传送:辅助数据库定时接收并应用主数据库传来的事务日志副本。
(6)韧性与恢复
数据库韧性是衡量系统对错误条件容忍度的指标
3种恢复类型
立即恢复
关键恢复
非关键恢复
(7)数据保留
数据保留是指数据保持可用的时间。
(8)数据分片
分片是一个把数据库中的一部分独立出来的过程。
6.2活动
6.2.1管理数据库技术
1.理解数据库的技术特征
2.评估数据库技术
1)产品架构和复杂性
2)容量和速度限制,包括数据流传送速率
3)应用类别,如事务处理、商务智能、个人资料
4)特殊功能,如时间计算支持
5)硬件平台及操作系统支持
6)软件支持工具的可用性
7)性能评测,包括实时统计信息
8)可扩展性
9)软件、内存和存储需求
10)韧性,包括错误处理和错误报告
其他因素
1)组织对技术风险的偏好
2)提供训练有素的技术专业人员
3)拥有成本,如软件许可费、维护非和计算资源成本
4)供应商声誉
5)供应商支持策略和版本计划
6)其他客户案例
3.管理和监控数据库技术
6.2.2管理数据库操作
1、理解需求
(1)定义存储需求
(2)识别使用模式
1)基于事务型
2)基于大数据集的读或写型
3)基于时间型(月末压力大、周末压力轻等)
4)基于位置型(人口集中的地区有更多交易等)
5)基于优先级型(某些部门或者某些批处理相对有更大权限的优先级)
(3)定义访问需求
数据访问就是授权访问不同数据文件的过程。
2、规划业务连续性
组织需要为灾难事件、影响系统或影响使用数据的不利事件进行业务连续性规划。
(1)备份数据
(2)恢复数据
3、创建数据库实例
DBA负责创建数据库实例,活动包括
1)安装和更新DBMS软件
2)维护多种环境的安装,包括不同的DBMS版本
3)安装和管理相关的数据技术
(1)物理存储环境管理
物理存储环境管理需要遵循传统的软件配置管理(SCM)过程或信息技术基础设施库的方法,以记录对数据库配置、结构、约束、权限、阀值等的修改。
确保一个完善的SCM过程需要4个步骤
1)步骤识别
2)配置变更控制
3)配置状态报告
4)配置审计
(2)管理数据访问控制
DBA为保护数据资产和数据完整性对以下功能进行监督
1)受控环境
2)物理安全
3)监控
4)控制
(3)创建存储容器
存储容器本身可能包含存储对象,并且每个级别都必须与该对象的级别相适合。
(4)应用物理数据模型
物理数据模型包括存储对象、索引对象以及执行数据质量规则、连续数据库对象以及实现数据库性能所需的任何封装代码对象。
(5)加载数据
数据库刚创建时是空的,DBA用数据将他们填充起来。
(6)管理数据复制
4、管理数据库性能
数据库的性能取决于两个相互依赖的因素:可用性和响应速度。
通过以下步骤管理数据库的性能
1)设置和优化操作系统以及应用程序参数
2)管理数据库连接
3)与系统开发人员和网络管理员合作,优化操作系统、网络和事务处理中间件,以方便数据库更好地运行
4)提供合适的存储,让数据库与存储设备和存储管理软件有效配合。
5)提供容量增长预测,支持存储获取和一般数据生命周期管理活动,包括保留、调试、存档、备份、清理和灾难恢复。
6)与系统管理员一起,提供操作工作负载和基准,以支持SLA管理、收费计算、服务器容量以及规划的生命周期轮换。
(1)设置数据库性能服务水平
通过IT数据管理服务组织和数据所有者之间的服务水平协议(SLA)来管理。
(2)管理数据库可用性
四个因素影响可用性
1)可管理性
创建和维护环境的能力
2)可恢复性
中断发生后重新建立服务的能力,修复由于不可预见的事件或组件故障导致的错误的能力。
3)可靠性
在规定的时间内提供指定水平服务的能力。
4)可维护性
识别存在问题的能力,诊断原因,修复/解决问题。
影响数据库的可用性的因素
1)计划性停机
2)非计划性停机
3)应用问题
4)数据问题
5)人为错误
确保数据库保持服务在线和正常运行
1)运行数据库备份工具
2)运行数据库重组工具
3)运行统计信息搜集工具
4)运行数据完整性检查工具
5)自动执行上述这些工具
6)利用表空间聚类和分区
7)跨区进行数据复制保证高可用性
(3)管理数据库运行
监视数据库的运行、数据变更日志的使用和复制环境的同步等情况。
(4)维护数据库性能服务水平
DBA通过性能监控、快速有效响应问题的方式,对数据库性能进展主动和被动的优化。
1)事务性能与批处理性能
2)问题修复
(5)维护备用环境
1)开发环境
用于创建和测试将在生产中执行的更改。尽管资源配置有所缩减,开发必须与生产环境保持紧密的联系。
2)测试环境
测试环境有几种用途,如质量保证、集成测试、用户验收测试和性能测试。理想的测试环境也有与生产环境相同的软件和硬件环境。特别是,用于性能测试的环境通常不应该减少资源配置。
3)数据沙箱
实验环境被用来检验假设及开发新的数据使用。DBA通常要设置、授予沙箱的访问权限,并监视这些环境的使用情况。他们还应该确保沙箱是隔离的,不会对生产操作产生不利影响。
4)备用的生产环境
它是被用来支持脱机备份、故障转移和韧性支持的系统。
5、管理测试数据集
DBA应监管项目的测试数据,定期清除旧的测试数据以保留数据库容量。
6、管理数据迁移
数据迁移是在尽可能不改变数据的情况下,在不同存储类型、格式或计算机系统之间传送数据的过程。
存储管理员就可以使用数据迁移技术完成相关工作
1)将过度使用的存储设备上的数据转移到一个单独的环境中
2)根据需要将数据移动到速度更快的存储设备上
3)实施数据生命周期管理策略。
4)将数据从旧的存储设备(无论是报废还是停止租赁)迁移到线下或云存储上。
6.3工具
6.3.1 数据建模工具
一些建模工具允许生成数据库数据定义语言脚本DDL。
6.3.2 数据库监控工具
数据库监控工具自动监控关键指标,并向DBA和网络存储管理员发出当前数据库问题警报。
6.3.3 数据库管理工具
包括配置功能、安装补丁和升级、备份和恢复、数据库克隆、测试管理和数据清理任务。
6.3.4 开发支持工具
开发支持工具包含一个可视化界面,用于连接和执行数据库上的命令。
6.4 方法
6.4.1 在低阶环境中测试
首先要在最低阶配置的环境中安装和测试——通常是开发环境。在最低阶环境中测试后,再在下一阶的环境继续验证,最后安装部署到生产环境中。
6.4.2 物理命名规范
利用ISO元数据注册表处理数据的语义、数据的表示和数据描述的注册。
6.4.3 所有变更操作脚本化
在应用到生产之前,将更改脚本文件在非生产环境下进行全面测试。
6.5 实施指南
就绪评估/风险评估
数据丢失的风险
技术准备有关的风险
组织和文化变化
DBA往往不能有效地提升自身工作对组织的价值
组织通常以应用程序为中心的角度来看待数据,而不是从数据角度
DBA应该帮助克服这些组织和文化障碍。
主动沟通
站在对方的立场上与之沟通
保持专注于业务
对他人有帮助
不断学习
6.6 数据存储和操作治理
6.6.1 度量指标
1.数据存储度量指标
数据库类型的数量
汇总交易统计
容量指标
已使用存储的数量
数据对象中已提交和未提交块或页的数量
数据队列
存储服务使用情况
对存储服务提出的请求数量
对使用服务的应用程序的请求数量
2.性能度量评估指标
事务频率和数量
查询性能
API服务性能
3.操作度量指标
有关数据检索时间的汇总统计
备份的大小
数据质量评估
可用性
4.服务度量指标
按类型的问题提交、解决和升级数量
问题解决时间
6.6.2 信息资产跟踪
数据存储治理中的一部分是确保数据库遵守所有许可协议和监管要求。
6.6.3 数据审计与数据有效性
1.定义
根据定义的标准对数据集进行评估的过程,通常是对数据集的特定关注点进行审计。
2.目的
根据既定的验收标准评估存储数据的过程,以确定其质量和可用性。
3.方法
可能包括一个项目特定和全面的检查表、所需的可交付成果和质量控制标准。
4.数据验证
根据既定的验收标准评估存储数据的过程,以确定其质量和可用性。
5.DBA对数据审计和验证提供部分支持工作,包括:
帮助制定和审查方法
进行初步的数据筛选和审查
开发数据监控方法
应用统计信息、地理统计信息、生物统计信息等技术来优化数据分析
支持采样及分析
审核数据
提供数据发现的支持
担任与数据库管理相关问题的主题专家