
数据库体系结构集中式数据库我们在见到比较多的集中式数据库。什么是集中式数据库呢它的数据是集中的那我们数据放在一台电脑上。其次数据的管理也是集中的由一个数据库管理系统来进行管理集中式数据库所使用数据库的应用程序跟我们的数据库管理系统是在同一台电脑上早期的一些应用了。它即使不联网也可以用也是我们常说的单机系统像一些Oracle server的话像office自带的access这种也是可以组建集中式数据结构的特点数据集中管理、一致性和完整性、便于数据共享、高性能更容易保证数据一致性和完整性统一的事务处理和约束机制可以确保在对数据进行更新和操作时遵循相同的规则和逻辑避免数据不一致的情况发生集中式数据库通常配备高性能的硬件设备如大型服务器、高速存储设备等能够处理大量的数据和高并发的查询请求提供较快响应和处理速度并行数据库中级考试并没有出现过了解到它有共享内存式的还有无共享式的并行数据库就可以了C/S结构C/S 结构即客户端 / 服务器Client/Server结构是一种软件系统架构模式它将软件系统分为客户端和服务器端两个部分通过网络进行通信和交互我们一般称它分为前端以及后端在这个过程当中C以外还可以有 B 这种结构。所谓的B这个B(browse) 其实就是浏览器它的一个代称C 一般指的是应用程序的客户端居多了。我们的服务器和应用程序分开在两个节点的这种通信的过程当中会用到数据接口我们叫做数据库的中间件JDBC—Java的、还有ODBC是oracle的功能分布合理这种功能分布使得系统的职责明确便于开发、维护和扩展客户端主要负责与用户进行交互提供友好的用户界面接收用户输入并向服务器发送请求服务器端则承担着数据存储、管理和处理的任务如数据库管理、业务逻辑处理等将处理结果返回给客户端可扩展性较好业务需求发生变化 扩展分别对客户端和服务器端进行升级和修改不会影响整个系统运行。安全性较高服务器端可以对客户端的访问进行严格的权限控制和身份验证性能优化客户端和服务器端根据各自性能需求进行独立硬件配置可以针对不同的任务进行性能优化分布式数据库分布式是数据库当中所用到的内容是分散的它包括物理上分布、逻辑上分布、物理逻辑上分布的为了做一些容灾的工作在不同的物理节点上去存并且有一些节点上的数据还是复制出来作用于备份都是分布式数据库的一些特点比如大地震如果数据文件是存在某一台电脑上那这台服务器一崩大家都懵了一些银行的数据都是目前都是分布式存储的分布式数据库特点数据独立性它的这些数据在物理节点上是分开存的用不同的电脑进行存储仍然会保持数据的逻辑独立性 和 物理独立性除此以外它还有数据分布的独立性。在后面看到相应的分布透明性了就是数据独立性的体现适当增加数据冗余度在不同的场地存储同一数据的多个副本可以提高系统的可靠性和可用性同时也能提高系统性能即当系统中某个节点发生故障时因为数据有其他副本在非故障场地上对其他所有场地来说数据仍然是可用的从而保证数据的完备性集中与自治共享结合的控制结构各局部的DBMS可以独立地管理局部数据库具有自治的功能同时系统又设有集中控制机制协调各局部DBMS的工作执行全局应用全局的一致性、可串行性和可恢复性分布式数据库透明性分片透明是指用户不必关心数据是如何分片|分块的它们对数据的操作在全局关系上进行即如何分片对用户是透明的。复制透明用户不用关心数据库在网络中各个节点的复制情况被复制的数据的更新都由系统自动完成复制指的就是数据的冗余存储的。它的这种的部本情况用户不需要关注数据哪一个节点有几个复制有几个备份全部由我们的数据库管理系统来负责操作位置透明用户不必知道所操作的数据放在何处即数据分配到哪个或哪些站点存储对用户是透明的他不需要了解自己操作的数据到底是放在哪一个或者哪一些站点去存储跟用户都是没关系的局部映像透明-逻辑透明是最低层次的透明性该透明性提供数据到局部数据库的映像用户不必关心局部DBMS支持哪种数据模型、哪种数据操纵语言数据模型和操纵语言转换是由系统完成因此局部映像透明性对异构型、同构异质的分布式数据库系统是非常重要的数据库三级模式结构 数据仓库⭐三级模式结构数据库的三级模式结构三级模式主要针对是集中式、C/S 架构常见数据库Oracle、SQL Server都会能用到三级模式 —— 两级映射为什么需要三级模式在最早期的时候是手工用一些条目来记录记录了之后需要做一定的 数据共享又有了一些在线的数据管理后面呢针对这些数据开发应用程序形成了C/S 结构的数据库系统在这当中我们发现用户程序最终所对应的并不是整个数据库本身而数据库本身的实质又是什么呢整个数据库的实质仍然是数据的集合在数据库管理系系统当中本质还是数据库文件这种物理数据库 —— 也就是我们讲到的具体的文件称为类模式 - 存储模式小注标准术语叫内模式存储模式原文 “类模式” 属于口误笔记考试写内模式。而实际情况用户、应用程序并不需要特别关注类模式我应用程序增加了一个填空内容就要去修改具体的数据库文件我的数据库文件从这台电脑 C 盘搬到了 D 盘就要重新修改整个应用程序应用程序和我们的物理文件之间耦合度不应该这么强为了解决耦合度问题采用分层的结构数据库的三级模式结构是对数据的三个抽象级别为了实现数据的转换数据库管理系统必须提供两层映射功能外模式和概念模式的映射概念模式和内部模式的映射外模式外模式也称子模式subschema或用户模式它是数据库包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图外模式通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异则其外模式描述就是不同的即使对模式中同一数据在外模式的结构、类型、长度、保密等级等都可以不同同一外模式也可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所应用的外模式中的数据外模式‑概念模式映射关联用户视图与全局逻辑结构。当模式修改如新增字段时通过调整映射关系保持外模式不变确保应用程序无需改动✨对应特性逻辑独立性概念模式概念模式也称模式、逻辑模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图模式实际上是数据库数据在逻辑上的视图。一个数据库只有一个模式数据库模式以一种数据模型为基础综合地考虑了用户需求并将这些需求有机地结合成一个逻辑整体表定义模式时不仅要定义数据的逻辑结构例如数据记录由哪些数据项构成数据项的名字、类型、取值范围等而且要定义数据之间的联系定义与数据有关的安全性、完整性要求模式数据定义语言模式 DDL概念模式‑内模式映射定义逻辑结构与物理存储的对应关系。当存储方式变更如索引类型调整时仅需更新映射无需重构模式✨对应特性物理独立性内模式内模式也称存储模式storage schema一个数据库只有一个内模式它是数据物理存储和存储方式的描述是数据在数据库内部的组织方式记录的存储方式是堆存储还是按照某个些属性值的升降序存储或按照属性值聚簇cluster存储索引按照什么方式组织是 B 树索引还是 hash 索引数据是否压缩存储是否加密存储记录结构有何规定长结构还是变长结构能不能跨物理页存储补充考试记忆点一库1 个概念模式1 个内模式多个外模式两级映射作用外模式 / 模式映射 →逻辑数据独立性全局逻辑改应用程序不用改模式 / 内模式映射 →物理数据独立性物理存储改上层逻辑不用改数据仓库数据仓库是面向分析的集成化数据平台分析的结果给企业提供决策支持企业中一般先有数据库然后有数据仓库可以没有数据仓库但是不能没有数据库数据仓库特点面向主题性在数仓中开展分析首先确定分析的主题然后基于主题寻找采集跟主题相关的数据一个分析的主题可以对应多个数据源集成的 消除了源数据中的不一致性提供整个企业的一致性全局信息因为同一个主题的数据可能来自不同的数据源它们之间会存在着差异异构数据诸如字段同名不统一、单位不统一、编码不统一因此在集成的过程中需要进行ETL抽取、转换、加载相对稳定的 (非易失的)主要进行查询操作只有少量的修改和删除操作 (或是不删除)数仓上面的数据几乎没有修改操作都是分析的操作数仓是分析数据规律的平台不是创造数据平台反映历史变化 (随着时间变化)记录了企业当前各个阶段的信息可对发展历程和未来趋势做定量分析和预测数仓是一个持续维护建设的东西。站在时间的角度数仓的数据成批次变化更新一天一分析T1、一周一分析T7等离线数仓当下还有比较火的实时数仓数据仓库的过程第一阶段是数据采集阶段主要任务是将企业各部门的数据整合到一起形成一个统一的数据仓库这个阶段的关键技术是 ETL抽取、转换、加载技术即从各个业务系统中抽取数据经过清洗和转换将数据加载到数据仓库中。此阶段重点是数据的整合和规范化第二阶段是数据建模阶段主要任务是对数据进行分析和建模以便更好地支持决策分析。这个阶段的关键技术是维度建模技术即将数据按照时间和空间等维度进行组织和分析这个阶段的重点是数据的分析和挖掘第三阶段是数据分析阶段主要任务是通过对数据进行分析和挖掘为企业提供更加准确、全面的决策支持这个阶段的关键技术是** OLAP在线分析处理联机数据分析** 即通过多维度的数据分析帮助企业更好地了解自身的业务状况和市场趋势。这个阶段的重点是数据的分析和应用。第四阶段是数据可视化阶段主要任务是将数据分析的结果通过可视化的方式呈现出来以便企业更加直观地了解自身的业务状况和市场趋势。这个阶段的关键技术是数据可视化技术即将数据分析的结果通过图表、图像等方式呈现出来这个阶段的重点是数据的可视化和可理解化OLAP和 OLTA数据仓库是典型的OLAP 是分析的意思联机分析系统OLTP是我们常见的数据库联机事务系统它所着重的是我们数据库从记录到增查正确答案BA选项是数据清理B选项联机分析C选项联机事务D选项ETL呢是整个数据抽取的过程