第二课(二)|学习笔记

简介: 快速学习第二课(二)

开发者学堂课程【高校精品课-西安交通大学-数据库理论与技术:第二课】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/12/detail/23


第二课(二)

 

内容介绍

一.系统体系结构

二.物理结构和逻辑结构

三.组件结构

四.DDB 与数据集成系统

五.MDBS(多库数据库系统)

六.P2P 数据库系统

七.分布式数据库系统分类

 

系统体系结构一词来源于建筑学,建房屋存在体系结构。


三.组件结构

image.png

1.应用处理器(AP)功能

用户接口:检查用户身份,接受用户命令,如:SQL 命令。

语义数据控制器:视图管理、安全控制、语义完整性控制(全局概念模式)。这些约束定义在字典中。

全局查询处理器:将用户命令翻译成数据库命令;生成全局查询的分布执行计划;收集局部执行结果并返回给用户。

全局执行监控器(全局事务管理器):调度协调和监视AP和DP之间的分布执行;保证复制数据的致性;保证全局事务的原子性。

2.DP 功能

局部查询处理:实现全局命令到局部命令的转换;访问路径选择器,选择最好的路径执行。

局部恢复管理器:维护本地数据库一致性的故障恢复。运行支持处理器(存储管理器):按调度命令访问数据库;

控制数据库缓存管理器;返回局部执行结果;保证子事务执行的正确性。

局部事务管理器:以局部子事务为单位调度执行,保证子事务执行的正确性。

局部调度管理器:负责局部场地上的并发控制,按可串行化调度和执行数据操作。

3.模式结构

分布式数据库系统标准草案中给定的抽象为四层的模式

结构:全局外层、全局概念层、局部概念层和局部内层。

模式与模式之间具有映射关系。

image.png

(1)全局模式或外模式(ES):全局外模式即全局用户视图,是分布式数据库的全局用户对分布式数据库的最高层抽象。

全局用户使用视图时,不必关心数据的分片和具体的物理分配细节。

(2)全局概念模式(GCS):全局概念模式即全局概念视图,是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。

像集中式数据库中的概念模式一样,是对数据库全体的描述。

全局概念模式再经过分片模式和分配模式映射到局部模式。 

(3)分布式数据库的四层结构及模式定义描述了分布式数据库是一组用网络联结的局部数据库的逻辑集合。

它将数据库分为全局数据库和局部数据库。

全局数据库到局部数据库由(1:N)映射模式描述。全局数

据库是虚拟的,由全局概念层描述。局部数据库是全局数

据库的内层,由局部概念层和局部内层描述。

(4)全局用户只关心全局外层定义的数据库用户视图,其内部

数据模型的转换、场地分配节等由系统自动实现。

image.png

 

四.DDB 与数据集成系统

通常,分布式数据库系统是自上而下(top-dow)地进行设计,可灵活地进行分片和分配设计。

用户可得益于其“集中控制”和数据库系统具

有的数据处理能力。

但分布式数据库系统具有数据库组件数量的限制,通常不多于数十个数据库组件。

数据集成系统通过约束数据管理能力(如:只支持读操作),将数据库组件数量扩展到数百个。

在数据集成系统中,通常数据和数据库已存在,是遵循自下而上(bottom-up)地集成各局部场地上的数据。 

1.数据库集成系统

image.png

2.多数据库系统(MDB)

MDBS 是在己经存在的数据库系统(称为局部数据库

系统:LDBs)之上为用户提供一个统一的存取数据的环

境。

image.png

3.DDB 和 MDB 的不同

DDB:只有一个数据管理器和依赖于该管理器的存在于各局部场地上组件数据管理器(component-data-manager)

MDB:本地数据管理器(data manager)都是完备的DBMS,具有它自己的 DDL,DML 和 TM。

相关文章
|
安全 Java API
精通 Java 后台开发:案例分析与实践
【4月更文挑战第5天】本文旨在帮助读者掌握 Java 后台开发,通过电子商务系统案例探讨数据库设计、RESTful API、安全性和性能优化。使用 Spring 框架简化开发,Spring Security 保障安全,缓存技术提升性能。实践部分强调版本控制、单元测试、CI/CD 和代码规范的重要性,助力开发者提升技能,应对挑战。
263 11
【QT】读写.ini配置文件的程序实现
【QT】读写.ini配置文件的程序实现
277 0
|
机器学习/深度学习 vr&ar
【深度强化学习】值函数逼近的详解(图文解释)
【深度强化学习】值函数逼近的详解(图文解释)
301 0
|
10月前
|
JSON C++ 数据格式
C++20 高性能基础库--兰亭集库助力开发者构建高性能应用
这次分享的主题是《高性能基础库--兰亭集库助力开发者构建高性能应用》的实践经验。主要分为三个部分: 1. 业务背景 2. 雅兰亭库架构 3. 业务优化
312 9
|
11月前
|
人工智能 机器人 vr&ar
Find3D:加州理工学院推出的3D部件分割模型
Find3D是由加州理工学院推出的3D部件分割模型,能够根据任意文本查询分割任意对象的任何部分。该模型利用强大的数据引擎自动从互联网上的3D资产生成训练数据,并通过对比训练方法训练出一个可扩展的3D模型。Find3D在多个数据集上表现出色,显著提升了平均交并比(mIoU),并能处理来自iPhone照片和AI生成图像的野外3D构建。
214 5
Find3D:加州理工学院推出的3D部件分割模型
|
存储 SQL 关系型数据库
在 MySQL 中使用 `RTRIM` 函数
【8月更文挑战第8天】
627 8
在 MySQL 中使用 `RTRIM` 函数
|
运维 Kubernetes Cloud Native
OpenKruise:云原生应用自动化的超级引擎,让Kubernetes焕发超能力!
【8月更文挑战第8天】在现代云计算中,云原生应用借助Kubernetes实现了标准化部署。OpenKruise作为扩展工具库,增强了Kubernetes的功能,提供自动化管理复杂应用的能力。通过兼容的控制器、CRDs及Operator模式,OpenKruise简化了应用操作。用户可通过Helm安装,并利用如CloneSet等功能高效复制与管理Pods,从而专注于业务开发而非运维细节,提升云原生应用的灵活性与效率。
317 6
|
jenkins 测试技术 开发工具
协同开发的艺术:Git 在团队项目中的高效应用
【8月更文第16天】在现代软件开发中,团队成员之间的高效协作是至关重要的。Git 作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码的变化和协作。本文将介绍如何利用 Git 来优化团队的工作流程,并提供实际操作的代码示例。
397 1
|
监控 JavaScript 前端开发
前端 JS 经典:Web 性能指标
前端 JS 经典:Web 性能指标
169 1
|
存储 负载均衡 并行计算
实现优雅并行编程:确保正确性与提升性能的关键要素
在程序开发中,并行编程一种利用多个处理器或计算资源同时执行多个任务的编程方式,它能够提高计算效率和性能,是提高计算效率和性能的关键手段,但它也带来了一系列复杂的问题,涉及到任务分解、数据同步、资源分配等诸多复杂问题,稍有不慎就可能导致性能瓶颈、死锁甚至数据不一致等状况。编写优雅的并行程序需要在保证程序正确性的前提下,实现高效的并行计算。那么本文就来探讨一下如何在保证程序正确性的前提下,实现优雅的并行程序,以提升计算效率和性能,包括任务分解、数据同步和资源分配等方面的关键要素,希望能够为读者提供一些有用的指导和启示。
334 2
实现优雅并行编程:确保正确性与提升性能的关键要素