【你也能从零基础学会网站开发】理解DBMS数据库管理系统架构,从用户到数据到底经历了什么

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

其实前面我们也讲过也就是数据库的基本结构!

这里我们再次回顾一下, 我们来看一个数据库架构图:

以下整个架构图的意义在于它清楚地展示了数据库系统是如何工作的,从操作系统的层面到数据库管理系统的核心作用,再到客户端服务器之间的交互,以及最终用户如何获取和使用数据!

如图

上图中其实我们可以把这个架构图进行分层, 从下往上分析!

操作系统层OS

OS操作系统是数据库系统运行的基础平台,它提供了文件管理、进程管理、内存管理等基本功能,以支持数据库系统的正常运行!
它是所有东西的基础核心, 然后才有一个专门管理数据的东西,叫做DBMS数据库管理系统, 在这个系统当中我们可以将数据进行分类、存储,并确保它们可以被快速找到和使用!

物理存储层

这是数据存储的最底层,代表了实际的物理存储设备,比如: 硬盘, 数据库中的数据最终以文件的形式存储在这里。

你可以这样理解, 物理级数据库指的就像是仓库里的货架和储物柜,用来存放实际数据的地方!

其中分布式文件系统:指的是如果数据库系统使用了分布式文件系统,那么物理数据仓库中的数据会被分散存储在多个物理节点上,以实现数据的高可用性可扩展性

数据库管理系统层

数据库系统(DBMS)的核心组件负责数据的存储、检索、更新删除等操作。

它通常采用客户端-服务器架构,客户端发送请求给服务器,服务器处理请求并返回结果。

这就像是你有一个仓库, 里的两个不同区域,一个专门处理内部事务=>服务器端,另一个则负责和外部的人=>客户端打交道

比如: 服务器端服务数据库内部的工作区域,它负责存储、处理维护所有的数据
客户端服务则是数据库外部世界的接口,它允许外部的人(比如: 其他用户)通过它来请求或查看数据

所以当你作为客户端想要查看或请求某些数据时,你会通过客户端服务发送一个请求, 比如SQL请求视图请求服务请求
然后,客户端服务会把这个请求转给服务器端服务,由它来处理并找到你想要的数据

一旦找到了你想要的数据,它就会通过客户端服务用户视图的方式把数据展示给你, 这样,你就可以看到并使用这些数据了。

物理级数据库:这是数据库在物理层面上的实现,包括数据的存储格式、索引结构等。

它位于DBMS内部,是DBMS与物理存储层之间的桥梁。

逻辑存储层

也就是数据表, 而数据表数据库中存储数据基本结构,它由组成,每行代表一个记录,每列代表一个字段, 并且组建表与表之间的引用关系!

数据抽象层

这是一个抽象的数据模型,用于描述数据库中数据的结构和关系。
它位于逻辑存储层之上,为用户提供了一个更高层次的视角来理解和操作数据。

DBA视图数据库管理员DBA视图, 用于展示数据库系统的运行状态、性能数据等,以便DBA进行监控和管理。

架构图中的DBA 则是一个特殊的视角工具,允许数据库管理员DBA以不同的方式查看管理仓库里的数据!

用户接口层

用户数据库、客户2数据库、客户3数据库、客户4数据库 , 这些可能代表了面向不同用户或客户群体的数据库实例。

它们位于用户接口层,是用户与数据库系统交互的入口。

服务请求、视图请求、SQL请求:这些表示用户应用程序向数据库系统发出的不同类型的请求, 它们通过用户接口层进入数据库系统,并被DBMS处理。

用户层

位于最顶层, 用户通过客户端应用程序用户界面与数据库系统进行交互。

客户端负责发送请求给数据库系统,并接收数据库系统返回的结果。

用户视图这是用户与数据库系统交互的界面,每个用户可能根据自己的需求有不同的视图或模式。

小结

我们从下到上分析了这个数据库的基本架构,这张图展示了从物理存储层用户层的各个组件和层次。

每个层次都有其特定的职责和功能,共同构成了数据库系统的整体架构。

用户通过客户端数据库系统进行交互,数据库系统通过DBMS处理用户的请求,并将结果返回给用户。

在这个过程中,数据在物理存储层、逻辑存储层数据抽象层之间流动,并最终以用户可以理解的形式呈现在用户面前。

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/765004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新CRMEB商城多商户java版源码v1.6版本+前端uniapp

CRMEB 开源商城系统Java版,基于JavaVueUni-app开发,在微信公众号、小程序、H5移动端都能使用,代码全开源无加密,独立部署,二开很方便,还支持免费商用,能满足企业新零售、分销推广、拼团、砍价、…

Monkey测试

Monkey测试是一种自动化测试技术,它通过模拟用户在设备上的随机操作,来对应用程序进行压力测试。它的目的是测试软件的稳定性和健壮性。 Monkey测试有以下几个特点: 随机输入: Monkey测试不需要编写详细的测试用例,只…

【博主推荐】HTML5实现简洁好看的个人简历网页模板源码

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 工作经验界面1.4 学习教育界面1.5 个人技能界面1.6 专业特长界面1.7 朋友评价界面1.8 获奖情况界面1.9 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发&#xff0c…

怎么把录音转文字?推荐几个简单易操作的方法

在小暑这个节气里,炎热的天气让人分外渴望效率up!Up!Up! 对于那些在会议或课堂中急需记录信息的朋友们,手写笔记的速度往往难以跟上讲话的节奏。此时,电脑录音转文字软件就像一阵及时雨,让记录…

中国网络安全审查认证和市场监管大数据中心数据合规官CCRC-DCO

关于CCRC-DCO证书的颁发机构,它是由中国网络安全审查认证与市场监管大数据中心(简称CCRC)负责。 该中心在2006年得到中央机构编制委员会办公室的批准成立,隶属于国家市场监督管理总局,是其直辖的事业单位。 依据《网络…

Rust学习笔记007:Trait --- Rust的“接口”

Trait 在Rust中,Trait(特质)是一种定义方法集合的机制,类似于其他编程语言中的接口(java)或抽象类(c的虚函数)。 。Trait 告诉 Rust 编译器: 某种类型具有哪些并且可以与其它类型共享的功能Trait:抽象的…

深层神经网络

深层神经网络 深层神经网络 深度神经网络(Deep Neural Networks,DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机(Multi-Layer perceptron&#xff0c…

音视频同步的关键:深入解析PTS和DTS

😎 作者介绍:我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun,视频号:AI-行者Sun 🎈 本文专栏:本文收录于《音视频》系列专栏&…

【ES】--Elasticsearch的Nested类型介绍

目录 一、问题现象二、普通数组类型1、为什么普通数组类型匹配不准?三、nested类型四、nested类型查询操作1、只根据nested对象内部数组条件查询2、只根据nested对象外部条件查询3、根据nested对象内部及外部条件查询4、向nested对象数组追加新数据5、删除nested对象数组某一个…

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人:CesareCheung 更新时间:2024.06.20 一、技术栈 PythonPytestAllureYamlJenkinsGitLab 版本要求:Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 安装python3.7&…

Windows下快速安装Open3D-0.18.0(python版本)详细教程

目录 一、Open3D简介 1.1主要用途 1.2应用领域 二、安装Open3D 2.1 激活环境 2.2 安装open3d 2.3测试安装是否成功 三、测试代码 3.1 代码 3.2 显示效果 一、Open3D简介 Open3D 是一个强大的开源库,专门用于处理和可视化3D数据,如点云、网格和…

linux内核驱动第一课(基于RK3568)

学习Linux驱动需要以下基础知识: C语言编程:掌握C语言是开发Linux驱动程序的基本要求。操作系统原理:了解操作系统的基本概念和原理,如进程管理、内存管理、中断处理等。Linux内核:熟悉Linux内核的结构和工作机制&…

编译libvlccpp

首先下载vlc sdk https://get.videolan.org/vlc/3.0.9.2/win64/vlc-3.0.9.2-win64.7z Cmake 生成libvlccpp vs2022工程文件 编译libvlccpp 编译出错需修改代码 错误信息: \VLC\sdk\include\vlc/libvlc_media.h(368): error C2065: “libvlc_media_read_cb”: 未…

Python程序语法元素简析

文章目录 Python程序的语法元素是构成Python程序的基础构建块,它们共同决定了程序的结构、逻辑和行为。以下是一些关键的Python语法元素简析: 注释:用于解释代码功能,不被执行。单行注释以#开始,多行注释使用三个单引号…

智能写作与痕迹消除:AI在创意文案和论文去痕中的应用

作为一名AI爱好者,我积累了许多实用的AI生成工具。今天,我想分享一些我经常使用的工具,这些工具不仅能帮助提升工作效率,还能激发创意思维。 我们都知道,随着技术的进步,AI生成工具已经变得越来越智能&…

怎样恢复数据?电脑数据恢复方法详解!

在日常使用电脑或移动设备时,我们难免会遇到数据丢失的情况,如误删除文件、存储设备故障等。数据恢复成了许多人迫切需要解决的问题。本文将为您介绍几种高效的数据恢复方法,帮助您轻松找回丢失的文件。 一、了解数据丢失的原因 在恢复数据…

Centos安装1Panel面板工具安装可视化界面

1Panel是一种市场调研平台,旨在帮助企业进行市场研究和获取消费者反馈。它通过在线调查和观察研究的方式,帮助企业了解他们的目标市场,并针对市场需求做出相应的决策。 1Panel的特点包括: 1. 全球范围:1Panel在全球范…

学习笔记(linux高级编程)10

IPC 进程间通信 interprocess communicate 三大类: 1、古老的通信方式 无名管道 有名管道 信号 2、IPC对象通信 system v BSD suse fedora kernel.org 消息队列(用的相对少,这里不讨论) 共享内存 信号量集 3、socket通信 网络通信 特…

Linux登录界面

Linux登录界面 1. 起因2. 脚本3. 效果 1. 起因 某次刷抖音看到一个博主展示了一个登录页面,觉得蛮好看的.于是自己动手也写一个 2. 脚本 编写脚本/usr/local/bin/login.sh #!/bin/bash Current_timedate %Y-%m-%d %H:%M:%S Versioncat /etc/redhat-release Kernel_Version…

合作协议的网络接入协议

合作协议的网络接入协议 介绍阿里云获取网络接入协议查看合同生成新合同总结 介绍 最近在帮公司弄增值电信业务经营许可证的相关的材料,然后需要我提供网络接入商的网络接入协议。因为每个公司买的服务器可能都不一样,有的阿里云、华为云、腾讯云等还有…