高级数据库系统 复习提纲
第一章 数据库技术的回顾与发展
简述三代数据库的发展历史及其对应特点:
新型数据库在“数据模型”上的创新:
简述数据库和什么相关技术结合,产生了什么新型数据库?
1. 数据库和并行处理技术结合,产生“并行数据库”,通过多处理机并行运行,提示系统整体性能;
2. 数据库和分布式系统结合,产生“分布式数据库”,将数据存储在多台主机上,通过网络协调来共同提供数据服务;
3. 数据库和人工智能技术结合,产生“知识库系统、主动数据库系统”,提供对紧急情况的及时反应能力;
4. 数据库和多媒体技术结合,产生“多媒体数据库”,管理多媒体信息;
5.数据库和移动通信技术结合,产生“移动数据库”,支持移动式计算环境。
简述数据库应用于什么领域,产生了什么新型数据库?
1. 数据库应用于“工程领域”,产生了“工程数据库”,为工程设计提供各类服务;
2. 数据库应用于“地理信息领域”,产生了“空间数据库”,能够存储、查询、显示空间数据;
3. 数据库应用于“计划、统计领域”,产生了“计划数据库”,用于管理生产计划信息;
4. 数据库应用于“决策支持系统、企业信息系统”,产生了“数据仓库”。
第二章 数据库系统体系结构
DBMS的层次结构:
1. 语言处理层 的功能:接收 DB 语句,转换成内部表示,顺序调用内部的存取模块;
2. 逐步绑定 (bind):将 DML语句 → 可执行的存取动作;
执行前 ---- “预编译” 方法;执行时 ---- “解释” 方法;
“绑定” 时刻 的 权衡:越先绑定,效率高,数据独立性差;
3. “预编译” 方法 失效 —— 重编译;
4. 存取层 的功能:单次单元组的增删查改、提供并维护存取路径、对记录和存取路径的封锁、解锁,对日志文件的登记、读取,其他辅助操作。
oracle 数据库 的 体系结构:
注意:
DBMS层次结构:
应用层:处理各种各样的数据库应用,是RDBMS与用户、应用程序的界面层;
语言翻译处理层:处理数据库语言,如SQL向上提供的数据接口是元组的集合;
数据存取层:介于语言层和数据存储层之间,向上提供单元借接口,向下则以系统缓冲区的存储器接口作为实现基础,处理单个元组,把集合操作化为但记录操作并执行;
数据存储层:处理数据页和系统缓冲区。
Oracle体系结构:
存储结构: 由逻辑存储、物理存储组成
内存结构: 由SGA、PGA组成
进程结构: 由用户进程和Oracle进程(包括服务进程和后台进程)组成
其中内存结构、进程结构合称为一起被称为Oracle实例;存储部分称为数据库。
第三章 数据库安全性
问题提出:数据共享 → 安全性 → 数据共享并非 “无条件” 共享;
数据安全的基本要求:1. 机密性;2. 完整性;3.可用性;
什么是数据库的安全性?
指保护数据库,以防止不合法使用所造成的数据泄露、更改、损坏。
对数据库安全性产生威胁的因素?
(1) 非授权用户对数据库的恶意存取和破坏 —— 包括用户身份鉴别、存取控制、视图等技术;
(2) 数据库中重要或敏感的数据被泄露 —— 强制存取控制、数据加密存储、加密传输等;
(3) 安全环境的脆弱性 —— 加强计算机系统的安全性保证,建立完善的可信标准
数据库安全现状和未来展望:
数据库安全旨在:保护数据库免受未经授权的访问、修改、破坏,以确保数据的机密性、完整性、可用性。
1. 威胁和挑战:当前,数据库安全面临多重威胁及挑战;包含:(1) 非授权用户对数据库的恶意存取和破坏;(2) 数据库中重要或敏感的数据被泄露;(3) 数据库安全环境存在脆弱性;通常由于 “权限管理失当、系统存在漏洞、安全意识淡薄” 等原因所导致。数据库安全问题将带来严重后果,因此,加强数据库安全防护已成为刻不容缓的任务。
2. 数据库安全的当前解决方案:
传统网络安全技术主要包括:防火墙、入侵检测系统、漏洞扫描等。这些技术可有效保护数据库系统免受外部攻击。防火墙能够限制外部流量,防止未经授权的访问;入侵检测系统能够实时监控系统行为,发现异常操作;漏洞扫描则能够发现并修复系统漏洞,避免恶意攻击。
现代数据库安全技术主要包括:数据加密、访问控制、审计追踪等。数据加密能够在存储和传输过程中对数据进行加密,确保数据机密性;访问控制能够限制用户对数据的访问权限,防止非法访问;审计追踪能够记录所有数据库操作行为,便于事后追踪和分析。
3. 数据库安全的当前解决方案:
随着技术的不断发展,新兴数据库安全技术也不断涌现。其中,云计算和区块链技术为数据库安全带来了新的解决方案。云计算通过分布式计算和存储方式,实现数据的安全、高效存储和管理;区块链技术则通过去中心化、不可篡改的特性,保证数据的真实性和完整性。
4. 未来,需强化身份认证与访问控制、加强审计与日志监控、应对云数据库的安全挑战、引入AI与机器学习增强安全防护、加强数据备份与灾难恢复能力。
数据库的安全措施:
• Access Control(访问控制) - 明确说明谁可以访问及怎么访问
• Inference Control(推理控制) - 防止通过统计数据推导出机密数据(统计数据库安全性).
• Flow Control(流的控制) - 防止信息向未授权的用户流通
• Cryptographic Control(加密控制) - 保护放在不安全介质中的数据
第四章 数据库调优
为什么要进行数据库调优及数据库调优的目标?
为什么要进行数据库调优?
数据库在处理大量数据和复杂查询时,性能问题可能会逐渐显现。数据库调优可以帮助我们发现和解决性能瓶颈,提高数据库的响应速度和并发能力,保证系统的稳定性和可靠性。
数据库调优的目标?
1. 使应用运行得更快;2. 缩短查询/事务的响应时间;3. 提高事务的整体吞吐量
第五章 数据库恢复
最后一题
结合自己的研究方向,与数据库技术相结合有哪些应用?
我目前所关注的研究领域主要是"针对时间序列数据的分析及下游应用","时序数据库"是该领域与数据库技术紧密结合的主要应用成果。时序数据在交通、医疗、金融、工业预测性维护等多个实际场景内意义重大,简言之,它是含有唯一、明确时间戳信息的流式数据。针对于时序数据 "1、产生频率快;2.严重依赖于采集时刻;3、测点多信息量巨大" 的特点,时序数据库打破了传统关系型DB难以有效存储及管理时序数据的桎梏,能更有效地处理伴随时间推移的数据摄取、聚合、压缩活动。
1. 时序数据库的工作原理:
(1) 时序数据的存储:将时序数据存储于"时间序列表"内,包含"时间戳"、"度量值"、"标签"三大字段, 采用"列式存储",提高查询效率;此外,由于时序数据的较高重复相似性,通常采用"压缩技术",以减少存储空间的耗费;
(2) 时序数据的查询:提供多种针对时序的查询函数,支持"按时间范围查询、按字段查询、聚合查询等";以时间戳为查询索引,实现高效查询;
(3) 时序数据的分析:时序数据库与可视化工具集成,直观呈现数据伴随时间的走势, 方便用户深入理解时序数据。
2. 时序数据库的应用场景
3. 部分具体的时序数据库:
(1) 关系型时序数据库,如:TimescaleDB,虽支持全面SQL,但保留不必要的事务特性,影响读写效率;行式存储结构相较于列式存储,在写入速度和数据压缩方面表现不好;分布式扩展能力有限;
(2) 基于KV存储的时序数据库,如:OpenTSDB,通过LSM-tree结构和分布式文件系统,实现高效写入和扩展。但存在写放大问题,因合并操作导致重复写入,且标签增多时内存消耗大;
(3) 原生数据库,如:IoTDB,不依赖第三方存储,使用列式存储,提供极致的数据写入、查询、压缩能力,运维部署更加简单。
4. 时序数据库的未来和挑战:
时序数据库正处于高速发展阶段,但是这绝不是终点,时序数据技术还面临各种新的需求和挑战:
在云服务、可视化服务、边缘计算服务等新需求方面,对时序数据库提出了更高、更多元的挑战及目标。
简述大规模数据库技术的现状,存在问题、解决方案:
1. “大规模数据库” 指:(1) 达到PB级的海量数据,用户数超千万,数据量超1TB;(2) 吞吐量高;(3) 必须实时响应,不停机,高可用性及可扩展性;
2. 大规模数据库的问题:高负载、稳定性差、扩展性差;
3. 解决方法:
负载均衡: