首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Postgres 源码学习 2—Postgres 的 VFD 机制

    操作系统中的文件 数据库的本质其实就是用来存储数据的,所以免不了和文件系统、存储进行交互,万丈高楼平地起,存储一般是一个数据库的最底层,Postgres 在存储的文件管理方面也有很多的设计与抽象。...在操作系统层面,提供了一些文件操作相关的系统调用(fopen、fclose、fsync 等),我们作为上层使用者,可以直接通过 C 语言库进行调用即可(Postgres 使用 C 语言编写)。...Postgres 的 VFD 作用 Postgres 数据库在运行的过程当中,可能会打开非常多的文件,比如数据表对应的文件,元数据表文件,以及一些在 SQL 运行时打开的临时文件,例如排序、哈希表所需的文件...VFD 的基本工作方式 Postgres 主要通过一个进程私有的数组来维护 VFD,名为 VfdCache。...通过这种方式,Postgres 可以打开远超过系统和进程限制的文件数量,是一个非常精妙的设计。

    59510

    Postgres 源码学习 3—Postgres 存储管理器

    前面一节说到,在 Postgres 的 VFD 机制之上,我们可以避开打开文件数量的系统限制,通过 VFD 可以进行打开、读写、关闭、删除文件等操作,简单来说就是 VFD 为我们提供了一个抽象,屏蔽了操作系统文件描述符的接口...文件类型和文件块 要了解 Postgres 的存储管理,需要先对 Postgres 的表文件的组织方式、类型有一个简单的了解。...Postgres 中的表文件可能会非常大,在物理存储上会将表文件拆分为多个,每一个表文件通过 segno 来区分。...在 Postgres 的数据目录中,表文件的存储格式为 base//。...但是目前在操作系统层面,已经提供了文件系统的抽象,所以存储管理器其实已经没有存在的必要了,但是 Postgres 依然选择将其保留,主要是认为这层抽象并没有什么其他的影响。

    55010

    快速开发通用GIS应用SDK,提高GIS开发效率

    怎样快速开发通用GIS应用SDK,提高GIS开发效率在GIS(地理信息系统)开发领域,面对繁多的功能需求和复杂的技术实现,开发人员常常需要花费大量时间和精力去处理重复性的工作。...为了提高GIS项目的开发效率,促进GIS开发的标准化,开发一款通用的GIS应用SDK(软件开发工具包)显得尤为重要。...本文将详细介绍如何快速开发通用GIS应用SDK,并探讨如何利用SDK提高GIS开发效率。 一、明确需求与目标在开发通用GIS应用SDK之前,首先要明确需求和目标。...如何利用SDK提高GIS开发效率1. 减少重复开发:通过使用通用GIS应用SDK,开发者可以避免在多个项目中重复开发相同的功能模块,从而节省大量时间和精力。2....总之,开发通用GIS应用SDK是提高GIS开发效率和促进GIS开发标准化的重要途径。

    61121

    游戏引擎与GIS

    Geospatial Data in Unreal Engine 这个是UE举办的Webinar,只有40分钟,内容主要包括: 概括了UE对GIS数据的理解 这一年在这方面主要做了哪些事情,UE5会在GIS...上做哪些支持 详细介绍了将GIS地形数据导入到UE4这个过程涉及的知识点 演示了这个过程 ?...总结 从Webinar中看到,UE主要还是专注在如何利用GIS的数据,因此资助了很多团队为其开发数据导入的插件,让UE4可以加载主要的GIS数据服务,确保UE平台在渲染和仿真上的优势,并借助VR,AR这些...毕竟,从技术角度,GIS不是UE的核心。...其次,我有时会想GIS技术上的核心是什么,很多核心技术都属于图形学的范畴,目前GIS只是把这些技术应用在地理相关的领域。

    5.9K40
    领券