数据存储和操作
1. 介绍
语境关系图-数据存储与操作数据存储和运营包括设计、实施和支持存储的数据,在整个生命周期内,从创建/获取到处置,最大限度地发挥其价值。数据存储和运营包括两个子活动
数据库操作支持:主要关注与数据生命周期相关的活动,即从数据库环境的初始搭建,到数据的获取、备份再到处置数据。同时,确保书库性能状态良好。
数据库技术支持:包括定义满足组织想㔿的数据库技术要求,定义数据库的技术架构,安装和管理数据库技术,以及解决与数据库相关的技术问题。
2. 业务驱动因素
企业的运营活动依赖于其信息系统。数据存储和运营活动对于依赖数据的企业来说是至关重要的。业务连续性是这些活动的主要驱动力。如果一个系统不可用,公司的运营可能会受到影响或完全停止。一个可靠的IT运营的数据存储基础设施可以将中断风险降到最低
3. 目标和原则
数据存储与操作目标包括:
在整个生命周期中管理数据的可用性
确保数据资产的完整性
管理数据交易事务的性能
- 识别自动化的机会并采取行动
- 构建时就考虑重用的思想
- 理解并适当使用最佳实践
- 支持数据库的标准需求
- 为项目中的DBA角色设置期望值
4. 基本概念
数据库术语
- 数据库
任何存储数据的集合,不分结构和内容。一些大型数据库指的是实例和模式 - 实例
通过数据库软件,执行对某一特定存储区域的控制访问,每个实例与所有其他实例相互独立 - 模式
模式是数据库或实例中的数据库对象的一个子集,常见用法是将包含敏感数据的对象与普通用户群隔离,或者是在关系数据库中将只读视图与基础表隔离。 - 节点
一台单独计算机作为分布式数据库处理或者存储数据的一个部分 - 数据库抽象
通用应用接口(API)通常用来调用数据库函数
数据生命周期管理
数据生命周期管理包括执行数据的获取、迁移、保留、过期和处理数据的策略和程序。
管理员
- 生产DBA
- 应用程序DBA
- 过程和开发DBA
- 网络存储管理员
数据架构类型
集中式和分布式数据库可分为集中式数据库和分布式数据库。集中式系统管理单一数据库,而分布式系统管理多个系统上的多个数据库;分布式系统组件可根据组件系统自治性分为两类:联邦的(自治)或非联邦的(非自治)
- 集中式数据库
集中式数据库将所有数据存放在一个地方的一套系统中,所有用户连接到这套系统进行数据访问。 - 分布式数据库
联邦数据库:数据不需要对数据源进行额外复制或持久化,系统地将多个自治的数据库系统映射成一个单一的联邦数据库。联邦数据库对于类似企业信息集成、数据可视化、模式匹配和主数据管理这样异构和分布式的集成项目非常合适。联邦数据库管理系统分为松耦合(需要多个组件数据库来构造他们自己的联邦模式)和紧耦合(由组件数据库系统组成,用独立的进程构造,发布一个集成的联邦模式)两类。
区块链数据库:属于一种联邦数据库,用于安全管理金融交易。区块链数据库有两种结构类型:单条记录和块。每个交易包含一条记录,每个区块包含一组带时间戳的交易,整个数据库由多个区块形成的链状结构组成,每个区块还包含链中前一个区块的信息。存储在区块中的交易信息在生成时使用了哈希算法,新生成区块位于整个链的末端。 - 可视化/云计算平台
云计算提供计算、软件、数据访问和存储服务,不要求终端用户了解提供服务系统的物理位置和相关配置。云计算是虚拟化、SOA(面向服务架构)和效用计算广泛使用的自然演进形态。
虚拟机镜像:在虚拟机上,用户可部署数据库,也可把装好数据库的机器镜像上传到云上。
数据库即服务(Daas):应用程序用户不需要自己安装和维护数据库,只需要为使用数据库付费。
管理托管在云上的数据库:数据库不是作为一项服务来提供的,而是云厂商代表应用程序所有者管理数据库。
数据处理类型(ACID和BASE)
- ACID
原子性:所有操作要么都完成,要么一个也不完成。
一致性:事务必须时刻完全符合系统定义的规则,未完成的事务必须回退。
隔离性:每个事务都是独立的。
持久性:事务一旦完成,就不可撤退。 - BASE
基本可用:即使节点发生故障,系统仍然能保证一定级别数据的可用性。数据可能过时,但系统仍然会给出响应。
软状态:数据处于持续流动的状态,当给出响应时,数据不保证是最新的。
最终一致性:数据在所有节点、所有数据库上最终状态是一致的,但并非每时每刻在每个事务里都是一致的。 -
CAP
一致性:系统必须总是按照设计和预期的方式运行。
可用性:请求发生时系统时刻都保持可用状态,并对请求作出响应。
分区容错:偶尔发生数据丢失或部分系统故障时,系统依然能够持续运行提供服务。
CAP定理
数据存储介质
- 磁盘和存储区域网络(SAN)
- 内存
- 列压缩方案
- 闪存
数据库环境
- 生产环境
- 非生产环境
- 数据沙盒或实验环境
数据库组织模型
- 层次型数据库
- 关系型数据库
- 非关系型数据库(NoSQL数据库)
专用数据库
- 计算机辅助设计和制造(CAD/CAM)
- 地理信息系统(GIS)
- 购物车功能
常见数据库过程(重要)
数据归档(Archiving)
归档是将数据从可立即访问的存储介质迁移到查询性能较低的存储介质上的过程。归档后的数据可以恢复到原系统,供短期使用。归档过程必须与分区策略保持一致,以确保最佳额可用性和数据保留度,稳妥的方法包括:
- 创建一个辅助存储区域,优先建在辅助数据库服务器上
- 将当前的数据库表分区成可以归档的单元
- 将不经常使用的数据复制到单独的数据库
- 创建磁盘或磁盘备份
- 创建数据库任务,定期清理不在使用的数据
当归档数据不同步或不一致时,有以下几种处理方法:
- 确定是否保留历史归档或有多少历史归档需要保留,不需要的历史归档可以清楚。
- 对于重大技术调整,在调整前将归档恢复到原始系统、升级或迁移到新系统,并在新系统下重新归档数据
- 对于源数据库结构发生更改的高价值归档数据,恢复归档,并对数据结构进行相应更改,用新结构重新归档。
- 对相对低价值的低频访问归档,在源系统的技术或结构发生改变时,保持就系统的小版本,供有限的数据访问,并根据需要用旧系统的数据格式从归档中抽取数据
容量和增长预测(Capacity and Growth Projection)
有两种不同的检测和收集更改方法:数据版本控制-评估标识已改动过行的列,或通过读取日志,日志里记录了变化,并能将变化复制到辅助系统中。
变动数据捕获(Change Data Capture)
清除指从存储介质中彻底删除数据并让它无法恢复的过程,数据管理的主要目标是维护数据的成本不应超过其对组织的价值。
数据清除(Purging)
清除指从存储介质中彻底删除数据并让它无法恢复的过程
数据复制(Replication)
主动复制:不存在主副本,可在每个副本上主动创建和存储来自其他副本的相同数据
被动复制:首先在主副本上创建和存储数据,然后把更改的状态传送到其他副本上。
数据复制有两个维度的扩展方式
水平数据扩展:拥有更多的数据副本
垂直数据扩展:将数据副本放到举例更远的不同地理位置上。
两种主要复制方式
镜像:作为两阶段提交过程的一个部分,在主库的更新会立即同步到辅助数据库
日志传送:辅助数据库定时接收并应用从主数据库传来的事务日志副本。
韧性与恢复(Resiliency)
数据库韧性是衡量系统对错误条件容忍度的指标,如一个系统能容忍高级别的处理错误,并仍能像预期的那样工作,那么它就具有很强的韧性。如应用程序一碰到意外条件就崩溃,那么系统就没有韧性。
数据保留(Retention)
数据保留指数据保持可用的时间。
数据分片(Sharding)
分片是一个把数据库中的一部分独立出来的过程。因为分配的复制只是一个很小的文件,所以分片可独立于其他分片进行更新。因为分片通常狠下,更新甚至这个那个分片刷新都很容易。
5. 活动
管理数据库技术
管理数据库操作
6. 工具
数据建模工具
数据库监控工具
数据库管理工具
开发支持工具
7. 方法
在低阶环境中测试
物理命名标准
所有变更操作校本化
8. 实施指南
9. 数据存储和操作治理
度量指标
数据存储的度量指标
- 数据库类型的数量
- 汇总交易统计
- 容量指标
- 已使用存储的数量
- 存储容器的数量
- 数据对象中已提交和未提交块或页的数量
- 数据队列
- 存储服务使用情况
- 对存储服务提出的请求数量
- 对使用服务的应用程序性能的改进
性能度量评估指标
- 事务频率和数量
- 查询性能
- API服务性能
操作度量指标
- 有关数据检索时间的汇总统计
- 备份的大小
- 数据质量评估
- 可用性
服务度量指标
- 按类型的问题提交、解决和升级数量
- 问题解决时间
信息资产跟踪
数据审计与数据有效性
数据审计是根据定义的标准对数据集进行评估的过程,目的是为了确定数据存储是否符合合同和方法要求,可能包括一个项目特定和全面的检查表、所需的可交付成果和质量监控标准。
数据验证是根据既定的验收标准评估存储数据的过程,以确定其质量和可用性,DBA对数据审计和验证提供部分支持工作,包括:
- 帮助制定和审查方法
- 进行初步的数据筛查和审查
- 开发数据监控方法
- 应用统计信息、地理统计信息、生物统计信息等技术来优化数据分析
- 支持采样及分析
- 审核数据
- 提供数据发现的支持
- 担任与数据库管理相关问题的主体专家。
网友评论