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

建设网站可以赚钱吗高职院校优质校建设专栏网站

建设网站可以赚钱吗,高职院校优质校建设专栏网站,wordpress 首页显示文章列表,房产设计公司网站存储管理 概述存储管理器的体系结构存储管理器的主要任务读写元组过程 声明#xff1a;本文的部分内容参考了他人的文章。在编写过程中#xff0c;我们尊重他人的知识产权和学术成果#xff0c;力求遵循合理使用原则#xff0c;并在适用的情况下注明引用来源。 本文主要参考… 存储管理 概述存储管理器的体系结构存储管理器的主要任务读写元组过程 声明本文的部分内容参考了他人的文章。在编写过程中我们尊重他人的知识产权和学术成果力求遵循合理使用原则并在适用的情况下注明引用来源。 本文主要参考了《PostgresSQL数据库内核分析》一书以及一些相关参考资料 概述 数据库管理系统DBMS的本质是向存储设备上写入数据或者读出数据因此存储的管理是一项非常基础且重要的技术。在 PostgreSQL 中存储管理器是专门负责管理存储设备的模块其提供了一组统一管理外存和内存的功能模块。因此从本质上看存储管理器提供了 PostgreSQL 与物理存取设备的接口。因为外存对应着各种磁盘设备而内存则对应着各种随机存储器。存储管理器是整个 PostgreSQL 系统的底层模块各种需要访问底层硬件的操作都需要调用其提供的接口。数据库存储管理系统的一般组件和功能的描述如下所示 缓存管理 这是数据库系统的核心部分负责缓存数据页以提高访问速度。它与磁盘存储进行交互将频繁访问的数据页保存在内存中以减少直接的磁盘 I/O 操作。基础存储管理 这一层处理与磁盘的实际交互包括数据页的读写。它确保数据能够持久化存储在磁盘上并在需要时加载到缓存中。大对象存储 数据库中的大对象如文本或图像通常需要特殊的存储管理因为它们的大小通常超过标准数据页的大小。内存/日志文件管理 这部分负责管理事务日志确保所有的数据库操作都可以在系统故障后进行恢复。日志文件通常存储了所有的事务操作记录。数据库备份与恢复 这部分涉及到的操作包括数据库的备份以及在数据丢失或损坏时的恢复。空间管理 数据库需要跟踪磁盘上的可用空间这通常涉及到文件空间管理FSM和可见性图VM以跟踪哪些页是空的哪些页是可见的。垃圾回收 为了优化存储空间和性能数据库需要定期进行垃圾回收如 PostgreSQL 中的 VACUUM 操作。这个过程包括清理不再需要的数据如已删除的行。可视化文件描述符VFD 这可能是指管理文件描述符的组件这些是操作系统提供的用于引用打开文件的句柄。进程间通信IPC 数据库系统可能包括多个进程或线程这个部分负责这些进程之间的通信。并发控制 数据库系统必须处理多个并发操作这部分负责管理并发访问保证事务的隔离性和一致性。索引管理 数据库使用索引来快速定位数据这部分负责索引的创建、维护和优化。外部接口 数据库需要与外部世界进行交互例如通过 SQL 接口与用户或其他系统通信。 存储管理器的体系结构 PostgreSQL存储管理器主要包括两个功能内存管理与外存管理。存储管理器的体系结构如下图所示 内存管理 负责共享内存管理以及进程本地内存的管理。在共享内存中存储着所有进程的共享数据包括锁变量进程通信状态缓冲区等。而本地内存为各个后台进程所有是它们的工作区域存储着属于该进程的 Cache、事务管理信息、进程信息等。为了防止多个进程并发地访问共享数据PostgreSQL 还提供了轻量级的锁用于支持对共享数据的互斥访问。此外存储管理器还提供了内存上下文MemoryContext用于统一管理内存的分配与回收从而更加安全有效地对内存空间进行管理外存管理 负责表文件管理、空闲空间管理、虚拟文件描述符管理以及大数据存储管理等。在 PostgreSQL 中每个表都用表文件存储表文件以表的 OID 命名。当一个表文件超过文件大小限制时PostgreSQL会自动将其切分为多个文件进行存储并在 OID 的基础上加上编号作为该文件的名字。每个表除了表文件以外还有两个附属文件可见性映射表文件VM空闲空间映射表文件FSM。前者用于加快清理操作VACUUM后者则用于对表的空闲空间进行管理。为了避免打开的文件超过 OS 的限制存储管理器还引入了虚拟文件描述符管理的机制。此外存储管理器还提供了大对象机制以及 TOAST 机制用于支持对大数据的存储。 PostgreSQL 的存储管理是为了优化和保证数据库操作的效率和安全。内存管理负责处理运行时数据和进程间的快速交互而外存管理确保数据持久性和有效的空间利用。通过这样的机制PostgreSQL 能够高效地处理大量数据支持高并发的数据库操作并且提供了数据的持久化存储和恢复能力。同时这种架构也支持了大数据和复杂数据类型的存储满足现代应用对数据库的多样化需求。   PostgreSQL 的存储管理器采用与操作系统类似的分页存理方式即据在内存中是以页面块的形式存在。每个表文件由多个 BLCKSZ (一个可配置的常量) 字节大小的文件块组成每个文件块又可以包含多个元组。表文件以文件块为单位读入内存中每一个文件块在内存中形成一个页面块。由于页面块是文件块在内存中的存在形式因此在后文中如不进行特殊说明也会使用页面来指代文件块。同样文件的写入也是以页面块为单位。PostgreSQL 采用传统的行式存储即以元组为单位进行数据的存储。一个文件块中可以存放多个元组但是 PostgreSQL 不支持元组的跨块存储每个元组最大为 MaxHeapTupleSize。这样保证了每个文件块中存储的是多个完整的元组。   与操作系统一样PostgreSQL在内存中开辟了缓冲区域用于存储这些文件块我们将其在内存中开辟的缓冲区域称为缓冲池缓冲池被划分成若于个固定大小和文件块的尺寸相同也是 BLCKSZ的缓冲区磁盘上的文件块读入内存后被存放在缓冲区中称之为页面块或者缓冲块。BLCKSZ 的默认值是 8192因此一个标准缓冲块的大小默认为 8KB。   用 AI 生成了一张图但貌似有点抽象。。。 存储管理器的主要任务 总的来说存储管理器的主要任务包括 缓冲池管理 为了提高事务执行的效率事务在执行时首先会先把数据放入的缓冲区中PostgreSQL设立了进程间共享的缓冲池以及进程私有的缓冲池。Cache机制 将进程最近使用的一些数据缓存到其私有内存中其级别高于缓冲池。虚拟文件描述符(VFD)管理 PostgreSQL 通过 VFD 来对物理文件进行管理避免因为操作系统对进程打开文件数的限制出现错误。空闲空间管理 PostgreSQL 通过 FSM 快速定位到表文件中的空闲空间以便插入新数据从而提高对空间的利用率。进程间通信机制(IPC) PostgreSQL 是一个多进程系统IPC 用来在多个后台进程间进行通信和消息传递。大数据存储管理 提供大对象和 TOAST 机制。大对象是一种由用户控制的大数据存储方法它由用户调用函数通过 SQL 语句直接向表中插入一个大尺寸文件。而 TOAST 机制则是在用户插入变长数据超过一定限度时自动触发的用户无法对其加以控制。(但是可以更改存储模式比如说) 读写元组过程 当一个 PostgreSQL 进程从数据库中读写一个元组时对于以上各个功能模块的使用顺序如下图所示 读取一个元组数据时首先需要先获取表的基本信息如表OID、索引信息以及统计信息这些信息分散在多个系统表中。因此读写一个表需要访问多个系统表但是这些每次都去读取系统表是没有必要的。因此每个进程在都会在本地内存区域设置两种 Cache分别保存系统表元组与存储表的基本信息从而使得进程能够快速地构建出表的基本信息和元组的模式结构。获取表基本信息和元组的模式信息后需要从元组所在的文件块中获取元组数据。这时首先判断元组所在的文件块是否在缓冲池里面若是则直接返回否则需要从存储介质中读取相应的文件块到缓冲区中再从缓冲区中读取元组。缓冲区与存储介质的交互是通过存储介质管理器SMGR进行。不同存储介质的底层实现各有差异SMGR 负责统管各种存储介质并对上层请求提供统一的接口对下层则根据不同的介质调用相应的介质管理器因此 SMGR 是 PostgreSQL 外存管理的核心。在磁盘管理器与物理文件之间还存在一层虚拟文件描述符机制VFD这是为了防止PostgreSQL 打开的文件数超过 OS 限制而引起不可预知的错误。VFD 机制通过合理利用有限个实际文件描述符为 PostgreSQL 提供了虚拟的无限的文件描述符。在写入元组的时候当目标表的目标文件块容量不足时需要查找该表中具有空闲区域的文件块读入内存。但是如果遍历该表所有的文件块效率是很低的。为了加快查找的速度PostgreSQL 为每个表增加了一个附属文件FSM用于记录每个文件块的空闲空间大小通过一定的查找机制和数据组织实现文件块的快速选择。在删除元组时PostgreSQL 使用标记的方法快速处理。该元组的物理清除工作将由VACUUM 机制来完成。当然如果 VACUUM 依次遍历所有的文件块也是非常慢的于是 PostgreSQL 设计了一个可见性映射表VM来加快查找速度。除了一般的数据外PostgreSQL 还提供了大对象机制与 TOAST 机制存储大对象数据。前者发生在用户需要为数据库存储一个大文件时PostgreSQL 为用户提供一个创建大对象的接口函数用于存储并获得一个大对象 OID。后者则主要用于变长字符串。
http://www.w-s-a.com/news/379974/

相关文章:

  • 网站怎么做支付非凡软件站
  • 北京谁会做网站开发熊岳网站怎么做
  • 南阳哪有做网站公司定制网站本地企业
  • 平板上做网站的软件邀约网站怎么做请柬
  • 企业网站成品源码邯郸做网站流程
  • 建设网站需要什么技术两个网站放在同一个服务器 备案
  • 焦作做网站推广天津网络关键词排名
  • siteserver cms网站访问量挂机宝可以做网站吗
  • 普宁网站建设公司网络商城设计
  • wordpress主题 外贸网站wordpress安装后输入帐号登不进去
  • 陕西省西安市建设局网站永登网站设计与建设
  • 广东网站设计招工.免费咨询贷款
  • 做试题网站在线做c 题的网站
  • 青岛发现51例阳性南京专业网站优化公司
  • 南昌建站如何上wordpress
  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度
  • 云互联的网站名字亚马逊雨林生物
  • 电商网站功能企查查企业信息查询网
  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司