当前位置: 首页 > news >正文

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

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

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

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

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

如图

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

操作系统层OS

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

物理存储层

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

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

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

数据库管理系统层

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

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

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

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

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

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

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

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

逻辑存储层

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

数据抽象层

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

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

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

用户接口层

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

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

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

用户层

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

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

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

小结

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

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

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

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

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

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

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

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

http://www.lryc.cn/news/389639.html

相关文章:

  • Vue.js 中的API接口封装实战与详解
  • 职场内卷、不稳定、没前景……怎么破?
  • LeetCode 算法:将有序数组转换为二叉搜索树 c++
  • 智慧公厕系统改变了人们对服务区公厕的看法
  • 终极指南:RNNS、Transformers 和 Diffusion 模型
  • WPF UI 3D 基本概念 点线三角面 相机对象 材质对象与贴图 3D地球 光源 变形处理 动作交互 辅助交互插件 系列三
  • 分子AI预测赛Task2笔记
  • 剖析DeFi交易产品之UniswapV4:创建池子
  • 速盾:cdn内容分发服务有哪些优势?
  • 如何利用React和Python构建强大的网络爬虫应用
  • 炎黄数智人:招商局集团推出AI数字员工“招小影”
  • 【开发篇】明明配置跨域声明,为什么却仍可以发送HTTP请求
  • 单片机中有FLASH为啥还需要EEROM?
  • Qt的源码目录集合(V5.12.12版本)
  • 记因hive配置文件参数运用不当导致 sqoop MySQL导入数据到hive 失败的案例
  • 自动化邮件通知:批处理脚本的通讯增强
  • 236、二叉树的最近公共祖先
  • WebStorm 2024 for Mac JavaScript前端开发工具
  • 【Redis7】零基础篇
  • [ROS 系列学习教程] 建模与仿真 - 使用 ros_control 控制差速轮式机器人
  • Ubuntu22.04使用Systemd设置ROS 2开机自启动遇到的问题
  • AI安全研究滞后?清华专家团来支招
  • 12寸FAB 信息部内外工作职责的一些划分构思
  • css做旋转星球可举一反三
  • AcWing 1256:扩展二叉树
  • 三维家:SaaS的IT规模化降本之道|OceanBase 《DB大咖说》(十一)
  • ai智能语音机器人是如何影响客户体验的?电销机器人部署
  • vue3使用v-html实现文本关键词变色
  • C#面:举列 a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
  • 编写动态库