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. 韧性和恢复
- 立即恢复
- 关键恢复
- 非关键恢复