第一章 数据库技术的回顾与发展
简述三代数据库的发展历史及其对应特点:
新型数据库在“数据模型”上的创新:
简述数据库和什么相关技术结合,产生了什么新型数据库?
1. 数据库和并行处理技术结合,产生“并行数据库”,通过多处理机并行运行,提示系统整体性能;
2. 数据库和分布式系统结合,产生“分布式数据库”,将数据存储在多台主机上,通过网络协调来共同提供数据服务;
3. 数据库和人工智能技术结合,产生“知识库系统、主动数据库系统”,提供对紧急情况的及时反应能力;
4. 数据库和多媒体技术结合,产生“多媒体数据库”,管理多媒体信息;
5.数据库和移动通信技术结合,产生“移动数据库”,支持移动式计算环境。
简述数据库应用于什么领域,产生了什么新型数据库?
1. 数据库应用于“工程领域”,产生了“工程数据库”,为工程设计提供各类服务;
2. 数据库应用于“地理信息领域”,产生了“空间数据库”,能够存储、查询、显示空间数据;
3. 数据库应用于“计划、统计领域”,产生了“计划数据库”,用于管理生产计划信息;
4. 数据库应用于“决策支持系统、企业信息系统”,产生了“数据仓库”。
数据库技术的研究热点有哪些?
NOSQL、信息集成、数据流管理、传感器数据库技术、XML数据管理、移动数据管理、微小型数据库 ......
未来数据库的发展趋势主要体现在以下几个方面:
1. 技术方面:
- 融合化与智能化:多模型数据库支持多种数据模型,满足复杂应用的多样化数据处理需求,如关系型、文档型、图数据模型等融合。数据库将深度融合人工智能和机器学习技术,实现智能运维、智能查询优化、智能化的数据管理和分析等功能。
- 分布式与并行化:分布式架构继续深化,数据分散存储在多个节点上,实现高并发访问和高可用性,可水平扩展以适应不断增长的数据规模。并行计算技术在分布式数据库基础上更广泛应用,提高数据处理速度和效率。
- 云化与服务化:云数据库成为主流,可根据业务需求快速弹性伸缩,灵活调整资源配置,降低企业运营成本。数据库即服务(DBaaS)模式发展,企业通过网络访问和使用数据库服务,专注核心业务开发。
2. 安全隐私方面:
- 数据安全强化:采用多因素认证、访问控制、数据加密、数据脱敏等先进安全技术,保障数据安全性和隐私性,同时严格安全审计和监控。
- 隐私保护发展:隐私计算技术如同态加密、差分隐私、安全多方计算等在数据库中广泛应用,确保在数据共享和使用过程中不泄露原始数据。
3. 应用与行业方面:
- 应用场景拓展:随着物联网、区块链、5G等新兴技术的发展,数据库与这些技术的融合应用将拓展到更多新场景,如物联网中的时序数据库、区块链中的分布式账本数据库等。
- 行业定制化加深:针对不同行业如金融、电信、医疗、能源等的特殊需求,提供更加定制化的解决方案,满足企业个性化管理需求。
4. 新兴技术方面:
- 与大数据深度融合:数据库与大数据技术紧密结合,具备更好的大数据处理能力,可与大数据平台无缝对接,实现数据的高效存储、转换和分析。
- 与区块链结合探索:利用区块链技术的去中心化、不可篡改等特性,构建更加安全、可信的数据存储和管理系统,在金融、供应链等领域有潜在应用。
- 向量数据库兴起:为应对大模型和AI的需求,向量数据库崛起,可结合AI技术进行智能化的数据处理,满足大规模的数据查询需求。
第二章 数据库系统体系结构
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)调整应用程序的SQL代码
(3)调整内存
(4)调整I/O
(5)调整争用和其他问题
"优化器" 的功能是:
(1) SQL 转换
(2) 选择访问路径
(3) 选择连接方法
(4) 选择连接顺序
第五章 数据库恢复
最后一题
结合自己的研究方向,与数据库技术相结合有哪些应用?
我目前所关注的研究领域主要是"针对时间序列数据的分析及下游应用","时序数据库"是该领域与数据库技术紧密结合的主要应用成果。时序数据在交通、医疗、金融、工业预测性维护等多个实际场景内意义重大,简言之,它是含有唯一、明确时间戳信息的流式数据。针对于时序数据 "1、产生频率快;2.严重依赖于采集时刻;3、测点多信息量巨大" 的特点,时序数据库打破了传统关系型DB难以有效存储及管理时序数据的桎梏,能更有效地处理伴随时间推移的数据摄取、聚合、压缩活动。
1. 时序数据库的工作原理:
(1) 时序数据的存储:将时序数据存储于"时间序列表"内,包含"时间戳"、"度量值"、"标签"三大字段, 采用"列式存储",提高查询效率;此外,由于时序数据的较高重复相似性,通常采用"压缩技术",以减少存储空间的耗费;
(2) 时序数据的查询:提供多种针对时序的查询函数,支持"按时间范围查询、按字段查询、聚合查询等";以时间戳为查询索引,实现高效查询;
(3) 时序数据的分析:时序数据库与可视化工具集成,直观呈现数据伴随时间的走势, 方便用户深入理解时序数据。
2. 时序数据库的应用场景
3. 部分具体的时序数据库:
(1) 关系型时序数据库,如:TimescaleDB,虽支持全面SQL,但保留不必要的事务特性,影响读写效率;行式存储结构相较于列式存储,在写入速度和数据压缩方面表现不好;分布式扩展能力有限;
(2) 基于KV存储的时序数据库,如:OpenTSDB,通过LSM-tree结构和分布式文件系统,实现高效写入和扩展。但存在写放大问题,因合并操作导致重复写入,且标签增多时内存消耗大;
(3) 原生数据库,如:IoTDB,不依赖第三方存储,使用列式存储,提供极致的数据写入、查询、压缩能力,运维部署更加简单。
4. 时序数据库的未来和挑战:
时序数据库正处于高速发展阶段,但是这绝不是终点,时序数据技术还面临各种新的需求和挑战:
在云服务、可视化服务、边缘计算服务等新需求方面,对时序数据库提出了更高、更多元的挑战及目标。
PS:总结规律:每年的第一题将考察 “第一个PPT内的数据库基础常识”,每年的第二题将考察 “安全、调优、恢复” 三大主题之一,最后一道考题通常是:谈论自己研究领域和数据库的结合及应用,所有考题的出题风格都是主观、宏观的,尽可能不考察细节,而考察对知识的整体把握。