DAMA数据管理知识体系指南之数据操作管理

news2024/12/23 23:02:44

第6章 数据操作管理

6.1 简介

数据操作管理是结构化数据的开发、维护和支持的活动,使企业数据资源达到最佳的利用价值。数据操作管理包括两项子职能:数据库支持和数据技术管理。
数据操作管理的目标是:

(1)保护和确保结构化数据资产的完整性。
(2)管理数据在其生命周期内的可用性。
(3)优化数据库事务性能。

在这里插入图片描述

6.2 概念与活动

6.2.1 数据库支持

数据库支持由DBA完成,DBA分为开发DBA和产品DBA。开发DBA关注开发活动,产品DBA关注实施数据操作管理活动。因此,数据库支持更准确的说是由产品DBA完成的。

DBA的数据库支持工作主要包括:

  • 实施并控制数据库环境

数据库系统的管理包括下列任务:

①更新DBMS软件——DBA负责安装新版本DBMS软件,负责实施各种数据库环境下由厂商提供的各种维护和修复,包括开发环境到产品环境。
②维护多项不同版本的DBMS安装——DBA安装维护若干项不同环境下的DBMS
软件,包括开发环境、测试环境及产品环境,同时还负责管理DBMS版本在各个环境之间的合理迁移。
③安装和管理相关数据技术工具,例如数据整合软件以及第三方数据管理软件等。
④设置和调试DBMS系统参数。
⑤管理数据库的连通性——除数据安全问题(参见第7章)以外,企业范围内访问数据库需要用户具备一定的专业知识。DBA对需要连接数据库的IT用户和业务用户,为之提供技术指导和支持服务。
⑥与系统程序员、网络管理员合作共同调整与DBMS相协作的操作系统、网络和事务处理中间层的性能。
⑦为DBMS划分适当的存储空间,使DBMS能使用外部存储设备和存储管理软件。存储管理优化利用不同存储技术存储不同种类数据。存储管理软件会将不经常被引用的数据转移到廉价的存储器上,这个做法导致的直接后果是重复访问此类数据会耗时较长。有些数据库能与存储管理软件结合,从而将分区表中的过时数据转移到较慢,但便宜的存储器上。DBA和存储管理员合作制定并监护有效的存储管理步骤。

可以准备一份清单,列出上述工作的步骤,建立数据库管理机制和工作流程。这样DBA可以有效的实施管理和控制,将应用程序的数据库修改实施到质控环境和产品环境中,加强环境管理。

DBA是所有数据库修改的监管人,其他人员只能提出修改请求,由DBA定义准确的修改方案,并实施和控制更改。

  • 获取来自外部的数据

外部数据可能是许可的,也可能是免费的。它们以不同的格式一次性、或通过订阅服务定期更新。数据采集的管理需要把数据订阅服务职责交给数据分析人士。

数据分析师把外部数据源记录在逻辑数据模型和数据辞典内;
开发人员据此设计并外部数据的读取程序;
DBA负责将数据加载到数据库中,供其他程序使用;

  • 规划数据恢复

数据治理委员会与IT数据管理部门建立数据可用性及恢复的服务水平协议。协议设定数据可用性期望,允许进行数据库维护和备份时间,设定不同场景下的数据恢复期望时间,包括潜在的灾难事件等。

DBA保证制定的所有计划(数据库、数据库服务器恢复),要覆盖所有导致数据丢失、损坏的可能场景。

管理层和组织的业务连续性管理部门(如果存在)应该评审并批准数据恢复规划。所有的计划可以被DBA访问。DBA备份所有恢复计划联同所有相关软件,以及有关安装、DBMS配置说明、安全码等应存放于除现场外的安全地方,以备灾难发生时应用。数据库备份亦同样处理。

  • 备份和恢复数据

DBA定期备份数据库、OLTP数据库和数据库事务日志。在数据库服务水平协议中定义备份频率。DBA需要对数据的重要性和保护数据所需付出的代价(存储资源空间)之间做出权衡。每个数据库每天至少要进行一次完全备份。

同时,数据库的存储区域需要根据数据的情况进行设置,并根据数据更新频率和数据量来设置数据备份策略、日志数据转储策略等内容。以便可以提供更好的数据保护,并减少备份对服务器资源以及程序带来的影响和冲击。

对于重要数据或者业务应用场景要求高的,还需要考虑数据库发生事故时的切换,以保障应用服务的继续运行。根据需要设置切换的方案,包括其他数据保护选项,比如服务器集群,热备份等。必要时,DBA也需要负责通过重新加载必要的数据库和事务日志备份最大可能的恢复丢失的数据或损坏的数据。

提供恰当的保护机制,可确保数据的持续可用性、完整性、可恢复性,安全性。

  • 设定数据库性能服务水平

数据库的性能服务水平有两方面:可用性和性能。性能是以可用性做为前提的。数据服务管理部门与数据所有人之间通过服务水平协议定义数据库的性能期望。一般来说,协议中规定了数据库的可用性时间和有选择的几个应用程序事务(复杂查询和更新的组合),在确定的可用性时间范围内指定最大允许执行时间。

可用性是系统或数据库能提供正常生产工作的时间百分比。

以下4个因素影响数据库的可用性:

可管理性:产生可维护有效环境的能力;
可恢复性:发生中断时重建服务的能力,更正不可预料事件发生所导致错误的能力;
可靠性:在规定时期内提供指定服务水平的能力;
可服务性:确定问题所在、诊断错误原因以及修复和解决问题的能力;

许多方面的因素可以导致丧失数据库可用性,列举如下:

预期和非预期停机。
服务器硬件损失。
磁盘硬件失效。
操作系统失效。
DBMS软件失效。
应用程序问题。
网络失效。
数据中心损失。
安全和授权问题。
数据损坏(由于软件设计不良、用户错误所致的)。
数据库对象丢失。
数据丢失。
数据复制失败。
严重的性能问题。
恢复失败。
人为错误。

DBA有责任采取各种措施保证数据库在线运转正常,其中包括:

运行数据库备份程序。
运行数据库重组程序。
运行各类统计程序。
运行完整性检查程序。
所有程序运行自动化。
利用表空间的聚集和分区。
通过镜像数据库复制数据以确保高可用性。

  • 监控并调整数据库性能

通过监控数据库性能和问题,DBA可以主动或被动的优化数据库性能。根据DBMS提供性能监听功能,生成分析报告。DBA应当保存不同时期和版本的报告,以便进行新旧对比分析,通过报告中数据的发展趋势,来分析是否出现了问题,也有助于分析哪些问题是伴随时间推移而产生的。

常见的可能导致数据库性能低下的原因:

①内存分配(数据的缓冲区/高速缓存)。
②锁和阻塞——在某些情况下,数据库内的运行进程可能会锁住数据库资源,例如,表和数据页,这样会导致阻塞需要相同资源的其他进程。如果问题持续太长的时间间隔,DBA可以终止阻塞的进程。在另外一些情况下,两个进程需要彼此之间的资源引起“死锁”。大多数DBMS在发生死锁事件后会自动终止其中一个进程。这种状况通常是数据库或应用程序糟糕的编码所引起的。
③更新数据库统计失败——大多数关系DBMS系统都有内置的查询优化器,它们依靠有关的数据和索引统计数字决定一个查询的最有效执行方式。定期和频繁地更新这些统计结果,特别对那些活跃的数据库是很重要的。不这样做的结果是如果没做好,可能会导致更低效的查询。
④SQL编码不良——SQL编码不良也许是导致低效能数据库的最常见原因。查询编程员要对SQL查询优化器有基本了解,所编写SQL应该充分利用优化器的效能。把复杂的SQL语句封装在存储过程内,这样可以做到预编译和预优化,而不是嵌入在应用程序代码中。利用视图预定义复杂的表链接。另外,避免在数据库函数中用表链接以及复杂SQL,因为这不像存储过程,这样会导致查询优化器对其难以理解。
⑤索引欠缺——编辑复杂的查询,查询涉及大表格时,要利用表内索引。创建必要的索引以支持这些查询。同时注意不要在更新频繁的表格中生成过多的索引,索引过多会引起更新处理减慢。
⑥应用程序活动——理想的状态是不要把应用程序同DBMS安装在同一个服务器
上,否则它们会竞争服务器资源。为最大性能目标去配置和调整数据库服务器。另外,新型DBMS允许应用程序对象,例如Java和.NET类可封装在数据库对象中并在DBMS上执行,但要小心谨慎利用这些功能。在某些情况下,这种特性非常有用,但在数据库服务器上执行应用程序会影响数据库运行效能。
⑦数据库的数量、规模或者使用的上升——如果DBMS支持多个数据库,支持多个应用程序,持续增加数据库可能会出现性能转折点,如果此时再添加数据库,就会使现有的数据库性能下降。在这种情况下,应该创建新的数据库服务器。此外,对增长很大的数据库,或在使用上比以前大大提高的数据库,应该重新安置其到新的服务器上。在某些情形下,解决问题只需通过归档使用频率较少的数据,或删除过期的废弃的数据。
⑧数据库波动——在某些情况下,短时间内进行大量的表插入、删除会导致数据库分布统计信息不准确。这时需要关闭数据库对这些表格的统计更新,因为这些不准确的统计数据能导致对查询优化器的不良影响。
⑨在鉴定出问题原因之后,DBA要采取一切可能的行动解决问题。这其中包括与应用程序开发员一起提高优化数据库代码,归档或删除不再被应用程序所用的数据。

  • 规划数据留存方案

不是所有的数据都会永远存留的主存储器上,所以物理数据库设计的一个重要部分是数据的留存规划。不再有效支持应用程序处理的数据应当归档并转移到次存储器上,对于废弃、无用的数据也需要定期进行清理。

数据库设计期间就需要与数据的所有者讨论数据保留问题,并达成数据有效期内如何使用数据的协议。

数据管理的主要原则之一就是维护数据的代价永远不应该超过这些数据带给组织的价值。

  • 归档、留存和清除数据

DBA应该同应用开发人员以及其他操作员,包括服务器管理员、存储管理员合作实施已经批准的数据留存规划。这可能需要以下程序:生成副存储区,建立副数据库服务器,复制不用或少用的数据到不同的数据库上,对现有的数据表分区,安排磁带或磁盘备份,生成数据库作业周期性来清理无用数据等。

  • 支持专用数据库

特殊情况下可以使用特殊类型的数据库,并进行专用的数据库管理。在支持特殊数据库管理上,DBA负责确保定期备份数据库,执行数据库恢复测试。这个并不存在管理难度,核心是如果要将这个特殊的数据库上的数据融合到其他的一个或多个关系数据库中时,数据整合是极具挑战性的工作。所以组织在购买数据库时应进行充分的考虑和讨论,并给出妥善的解决方案。

6.2.2 数据技术管理

  • 理解数据技术需求

DBA不仅要了解数据技术工作原理,还要知道数据技术怎样能在特定业务境况下提供有效的价值。DBA应该与其他数据服务组织成员、业务人员、管理人员紧密合作了解业务对数据和信息的需求。这样使他们能就业务问题的技术应用提供良好的建议并及时挖掘新的商业机会。

数据专业人员在特定情况下决定选择用何种技术方案之前,必须了解数据技术的需求。以下问题是考虑数据技术适用性的出发点,但不限于此:

(1)该数据技术要解决的问题是什么?
(2)该数据技术可以提供其他数据技术没有的功能吗?
(3)该数据技术没有而其他数据技术可提供的功能?
(4)该数据技术是否需要特殊硬件要求?
(5)该数据技术是否有特别的操作系统需求?
(6)该数据技术是否需要特殊的软件或需要附加应用程序才能获得该数据技术所宣称的功能?
(7)该数据技术是否有特殊的存储需求?
(8)该数据技术是否对网络或连接有特殊需求?
(9)该数据技术是否包括数据安全功能?如果没有,其他什么工具能与其协作获得数据安全功能?
(10)该数据技术是否需要特殊技能来支持?我们是否已经拥有此类技术人才?是否需要从外面引进人才?

  • 定义数据技术架构

数据技术架构解决以下3个基本问题:

(1)技术标准是什么(什么是必需的?什么是首选的?什么是可接受的?)?
(2)什么技术适用于什么目的和环境?
(3)在分布式环境中,使用了哪些技术?数据怎样从一个节点转移到移到另一个节点?

  • 评估数据技术

选择合适的数据技术工作需要涉及到业务数据管理员、DBA、数据架构员、数据分析师、其他数据管理专家和其他IT专业人士。需要调查和评估的数据技术包括:

①数据库管理系统软件。
②数据库辅助工具,比如备份和恢复工具、效率监控软件。
③数据建模和模型管理软件。
④数据库管理工具,比如编辑器、模式生成器和数据库对象生成器。
⑤产生报告和分析用的商务智能软件。
⑥提取-转换-加载(ETL)和其他数据整合工具。
⑦数据质量和数据清理工具。
⑧数据虚拟化工具。
⑨元数据管理软件,包括元数据存储库。

此外,数据专家可能需要一些用于其他领域的特殊工具,包括:

①变更管理(源码库和配置)工具。
②问题和故障管理工具。
③测试管理工具。
④测试数据产生器。

利用标准的技术评估过程,并应用由Kepner和Tregoe在The Rational Manager一书中定义的决策分析概念做决策选择。列出所有可能选项分别针对一系列带权重的决策标准做出比较,包括特征需求和功能目标,基本方法有以下步骤:

①了解用户需求、目标以及其他相关需要。
②对技术有概括性了解。
③确定可选技术方案。
④确定特征需求。
⑤对每一项特点进行权重分析。
⑥对每一个可选技术进行了解
⑦对每个可选技术方案的需求满足能力进行评估和打分。
⑧计算总分并对各个技术的评分排序。
⑨评估结果以及权重标准。
⑩展示选择最高积分的可选方案。

选择战略性DBMS软件尤其重要。DBMS软件主要的影响在于数据整合,应用性能和DBA的生产力。在选择DBMS软件时要考虑以下因素:

①产品架构及复杂性。
②应用资料(Profile),例如事务处理、商务智能以及个人资料。
③企业对技术风险的承担程度。
④硬件平台和操作系统支持。
⑤软件支持工具的可用性。
⑥性能基准。
⑦可扩展性。
⑧软件、内存及存储的需求。
⑨训练有素的技术专业人员的供应量。
⑩拥有成本,例如许可、维护和运算资源。
⑪供应商的声誉。
⑫供应商的支持政策和软件发布时间表。
⑬用户参考。

DBA要负责评估各种可选技术。影响因素如下:

①可选产品的可用性、稳定性、成熟度和当前产品的成本。
②一个产品在满足现有业务需求/问题的适应性。
③该产品满足其他业务需求的可扩展性。
④该产品是否适合本公司的技术构架线路。
⑤该产品是否适合本企业其他产品和技术。
⑥供应商的声誉、稳定性和预期寿命——公司是否有打算并有能力与此供应商在较长时间内合作?
⑦对供应商支持度的期望——是否经常提供最低成本的更新?在需要时是否能得到供应商的帮助?

  • 安装和管理数据技术

DBA所面临的工作是部署新技术、产品到开发/测试、QA/验证和生产环境中。他们需要创建并编辑归档有关流程和规程,以最少的努力和开销管理产品。切记产品的开销包括管理、许可证和支持费等绝不能超过该产品对业务带来的价值。还要记住购买新产品,实施新技术不一定需要增加职员,所以新技术应该必须最大可能地实现自我监控和自我管理。

同样还要记住,对实施新技术的代价和复杂性通常估计不足,相反其功效和利益通常被过高估计。在进行大规模的产品项目实施之前,通过一个小规模的试点项目和概念验证(Proof of Concept,PoC)式实施,达到了解其真实花费和利益是一个很好的主意。

  • 备案和跟踪数据技术的使用许可

公司必须遵守所有许可协议和法规需求。仔细跟踪并进行年度审计软件许可和年度支持费用,以及服务器租赁协议和其他固定费用等。违背许可协议会给组织带来严重的财务和法律风险。

数据也决定着各种技术和产品的总体拥有成本。定期评估过时的、厂商不再支持的、用处不大的或太昂贵的技术和产品。

  • 支持数据技术的使用问题

当业务需要新技术时,DBA将协同业务用户及应用开发人员一起工作,以确保最有效地利用该技术,探索新技术应用,并解决各种应用引起的问题或差错。

DBA和其他数据专业人员形成二级技术支持,协同服务台和技术供应商一起支持了解、分析和解决用户问题。

培训是做到有效地理解和应用各种技术的关键。企业应该针对每个参与实施人员、支持人员、使用数据人员,数据库技术人员制定有效的培训计划和预算。培训计划应该包括适当的交叉培训以保障更好的支持应用开发,特别是敏捷开发。DBA应该借此机会学习应用开发技术,例如类模型、用例分析、应用数据访问。开发人员应该学习某些数据库技巧,特别是SQL编码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

大家好,我是飘渺。 对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。如果你的接口在外网裸奔,只要让黑客知道接口的地址和参数就可以调用,那简直就是灾难。 举个例子:你的网站用户注册…

【NS2学习笔记】tcl与c++互相调用/传参

在NS2,做实验的时候,为了能通过循环配合传值实验,一直找不到tcl传参给c的方法,网上的只po出一部分看不懂,只能通过源码自己研究。最后的解决办法就是,模仿源码的操作,以下通过tcl→ex→sat-irid…

Python如何删除列表中的重复元素?

嗨嗨,大家晚上好 ~ 又来给你们分享小妙招啦 在python列表有重复元素时,可以有以下几种方式进行删除 觉得不错的话,赶紧学起来用用吧 ! 直接遍历列表删除 l1 [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]for el in l1:if l1.coun…

Java之动态规划的背包问题

目录 动态规划问题 一:01背包问题 1.问题描述 2.分析问题 3.代码实现(二维数组) 4.滚动数组实现(一维数组) 二:完全背包问题 1.题目描述 2.问题分析 3.代码实现 动态规划问题 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题,进行解决&#xff…

若依代码生成器-Domain代码生成篇(一)

若依代码生成器的前一段代码的阅读,我们了解了若依代码生成器的一些逻辑,包括通过数据库的information_schema. TABLES查询表信息,以及information_schema. COLUMNS查询指定表的列信息,将其转换到表gen_table与gen_table_column中…

SETR项目运行记录

项目简要介绍 全称为Swin-Transformer-Semantic-Segmentation,看名字我们就知道使用的是transformer,做的是语义分割方面,使用的数据集是Cityscapes。在本文中我们并不对其原理进行解读,只是调试运行该项目。 项目下载地址&#…

2023年深圳CPDA数据分析师认证将于2/25正式开班,快来报名

CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证,它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者,具有广泛的社会认知度和权威性。 无论是地方政府引进人才、公务员报考、各大企业选聘人才,还是招投标加…

C++这么难,为什么我们还要学习C++?

文章目录前言1. 为什么难学2. C的意义3. 什么时候该用C4. 如何学习C5. 学前勉言前言 C 可算是一种声名在外的编程语言了。这个名声有好有坏,从好的方面讲,C 性能非常好,哪个编程语言性能好的话,总忍不住要跟 C 来单挑一下&#x…

[架构之路-98]:《软件架构设计:程序员向架构师转型必备》-8-确定关键性需求与决定系统架构的因素

第8章 确定关键性需求是什么决定了软件系统的架构?!没有大的争议的是:需求决定了软件系统的架构!那么什么样的需求对软件系统的架构影响最大?8.1 众说纷纭——什么决定了架构8.1.1 用例驱动论:功能性需求用…

算法训练营 day30 回溯算法 组合总和 组合总和II 分割回文串

算法训练营 day30 回溯算法 组合总和 组合总和II 分割回文串 组合总和 39. 组合总和 - 力扣(LeetCode) 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组…

简易三子棋游戏实现

哈喽小伙伴们大家好,我们一起学习三子棋游戏的创建吧。在开始之前我们先来复习一下,函数声明放在头文件中函数定义放在源文件中。那么什么是函数声明和函数定义呢?所谓函数声明就是说明函数的返回参数,函数类型,函数名…

基于PHP的图书管理系统

摘要网络技术给生活带来了十分的便利。所以把图书管理与现在网络相结合。在图书馆发展的整个过程中,图书担负着最重要的角色。为满足如今日益复杂的管理需求,各类管理系统程序也在不断改进。本课题所设计的图书管理系统,使用B/S架构&#xff…

C++之this指针

this指针到底是什么?this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的,它并不出现在代码中,而是在编译阶段由编译器默默地将它添加到参数列表中。我们操作一个对象…

Hadoop配置手册1:hadoop环境搭建与测试

Hadoop配置手册1 Date: September 25, 2022 第1章 hadoop环境搭建 1.1 安装Vmware软件 下载地址:https://www.onlinedown.net/soft/45831.htm 运行安装程序,并连续点击下一步安装 输入密钥,启动程序 详细参考:https://blog.csd…

2023年19个数学建模竞赛重磅来袭!!!

更新时间:2022年2月3日 本人的团队全是计算机的研究生,从本科到研究生有丰富的打比赛和数模的经验,有需要指导的,请私信我 相关链接 (1)【数学建模】2022年整年所有数学建模竞赛时间表 (2&a…

再过半小时,你就能理解Kafka的基本原理了

kafka总结一.定义二.基础架构及术语三.工作流程分析3.1发送数据3.2保存数据3.2.1 partition结构3.2.2 message结构3.2.3 存储策略3.2.4 消费数据一.定义 Kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据,具有…

基于 PyTorch 的目标检测(YOLO实现)

目标检测是一个直到最近才开始逐渐被征服的挑战。解决这个问题对于自动化和自动驾驶来说是至关重要的。对解决办法的追求导致了各种方法的发展。我想要描述一些主要的方法,在过去的21目标检测已经被使用,然后讨论 Yolov3的实现。讨论方法引言虽然深度学习…

windows 7 离线安装vs20219,GraalVM 打包java成可执行程序

环境准备 由于vs2022不支持windows 7 ,故用vs2019版。 如果是 win7 系统,在安装下载的依赖项前需要安装 win7 所需要的两个补丁 KB4490628和KB4474419 ,下载地址分别为(下载后直接安装即可): 参考这篇博客…

vite --- 搭建开发环境

目录 下载安装和初始化VSCode 安装Node.js yarn 使用 pnpm 安装与使用 搭建第一个Vite项目 使用 PNPM创建项目 项目目录解读 下载安装和初始化VSCode 1、访问网站 Visual Studio Code - Code Editing. Redefined 2、选择平台版本 选择符合自己操作系统的安装包下载完毕…

接口测试及接口抓包常用的测试工具有哪些?

目录 接口 接口测试的重要性 常用抓包工具 01、F12 02、Fiddler抓包工具 03、Charles抓包工具 04、Firebug抓包工具 05、httpwatch抓包工具 06、Wireshark抓包工具 07、SmartSniff抓包工具 常用接口测试工具 01、Postman 02、Jmeter 03、RESTClient 04、WireMock…