CDGA 章节重点冲刺系列-第六章 数据存储与操作

1. 数据存储与操作

数据存储与操作语境关系图

1. 数据库管理员(DBA)

DBA 为开发环境、测试环境、QA 环境和其他特殊数据库环境提供支持,不是独立完成数据存储和操作活动的唯一角色。

DBA 负责创建数据库实例,相关活动包括:

  • 安装和更新DBMS软件
  • 维护多种环境的安装
  • 安装和管理相关的数据技术

1. 生产 DBA

主要负责数据操作管理,包括:

  • 通过性能调优、监控、错误报告等活动,确保数据库的性能及可靠性
  • 通过建立备份与恢复机制,确保在任何意外情况下数据能够被恢复
  • 通过建立集群和容错机制,确保数据连续可用
  • 执行其他数据库维护活动,如建立数据归档机制

交付成果包括:

  • 生产数据库环境,确保性能,配置适当的安全性、可靠性和可用性级别。数据库系统管理员为 DBMS 的环境负责
  • 控制数据库实施变更的机制和流程
  • 建立确保数据完整、可用和恢复的机制
  • 建立错误检测和报告的机制
  • 提供与服务水平协议(SLA) 相匹配的数据库服务
  • 建立性能监控的机制和过程

2. 应用程序 DBA

负责所有环境(开发、测试、QA及生产)中的一套或多套数据库,而不是指定负责管理某个环境的数据库系统

3. 过程和开发 DBA

负责审查和管理数据库的过程对象

4. 网络和存储管理员

主要关注支持数据存储阵列的软硬件

2. 数据架构类型

  • 集中式数据库
  • 分布式数据库:联邦数据库、区块链数据库
  • 可视化/云计算平台:虚拟机镜像、数据库即服务(DaaS)、管理托管在云上的数据库

3. 数据处理类型

数据库处理有两种基本类型:ACID 和 BASE,而 CAP定理用于界定分布式系统与 ACID(强调一致性C)还是与 BASE(强调可用性A)更加接近

  • ACID
    • 原子性(Atomicity):所有操作要么都完成,要么一个也不完成。因此,如果事务中的某部分失败,那么整个事务就都会失败
    • 一致性(Consistency):事务必须时刻完全符合系统定义的规则,未完成的事务必须回退
    • 隔离性(Isolation):每个事务都是独立的
    • 持久性(Durability):事务一旦完成,就不可撤销
  • BASE
    • 基本可用(Basically Available):即使节点发生故障,系统仍然能保证一定级别数据的可用性。数据可能过时,但系统仍然会给出响应
    • 软状态(Soft State):数据处于持续流动的状态,当给出响应时,数据不保证是最新的
    • 最终一致性(Eventual Consistency):数据在所有节点、所有数据库上最终状态是一致的,但并非每时每刻在每个事务里都是一致的

CAP 定理(也称为“布鲁尔定理”)是集中式系统在朝着分布式的系统方向发展过程中提出的理论。

  • 一致性(Consistency)。系统必须总是按照设计和预期的方式运行
  • 可用性(Availability)。请求发生时系统时刻都保持可用状态,并对请求作出响应
  • 分区容错(Partition Tolerance)。偶尔发生数据丢失或者部分系统故障发生时,系统依然能够继续运行提供服务

4. 数据库环境

  • 生产环境
  • 非生产环境:开发环境、测试环境、数据沙盒或实验环境

5. 数据库组织模型

  • 层次型数据库
  • 关系型:多维数据库、时态数据库
  • 非关系型:列式、空间、对象/多媒体、平面文件、键值对、三元组存储

6. 数据存储介质

  • 磁盘和存储区域网络(SAN)
  • 内存
  • 列压缩方案
  • 闪存

7. 韧性和恢复

  • 立即恢复
  • 关键恢复
  • 非关键恢复