暂无图片
pg中DIO或者bufferIO 的通俗理解?
我来答
分享
暂无图片 匿名用户
pg中DIO或者bufferIO 的通俗理解?

pg中DIO或者bufferIO 的通俗理解?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
lianR

DIO(Direct  IO)和Buffer  IO是计算机系统中两种不同的数据读写方式。

1.  DIO(Direct  IO):直接输入输出,也就是绕过操作系统的缓冲区,直接在应用程序和磁盘之间进行数据传输。这种方式的优点是可以减少CPU的使用率和系统的内存使用,但是缺点是会增加磁盘I/O的次数,因为每次读写都需要直接操作磁盘。

2.  Buffer  IO:缓冲输入输出,也就是通过操作系统的缓冲区进行数据传输。当应用程序需要读写数据时,首先会把数据读写到操作系统的缓冲区,然后再由操作系统把数据从缓冲区读写到磁盘。这种方式的优点是可以减少磁盘I/O的次数,因为操作系统可以把多次的小数据读写合并成一次大数据读写,但是缺点是会增加CPU的使用率和系统的内存使用。

在PostgreSQL(pg)数据库中,也存在这两种数据读写方式。通常情况下,pg会优先选择使用DIO,因为这样可以减少系统的内存使用,提高数据库的性能。但是在某些情况下,比如当数据量非常大,或者磁盘I/O性能非常差的时候,pg可能会选择使用Buffer  IO,以减少磁盘I/O的次数,提高数据读写的效率。

暂无图片 评论
暂无图片 有用 3
打赏 0
清风生

DIO、BufferIO概念如楼上所说,另外截至目前版本,pg只有wal可支持DIO(wal_sync_method参数设置),其他都是Buffer IO。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
pcm认证与pgcm认证,有啥区别
回答 1
已采纳
PGCM(PostgreSQLCertifiedMaster),是中国PostgreSQL技术能力认证体系的最高级别,代表PostgreSQL数据库认证大师。要考PGCM必先通过PGCA、PGCP。P
pg如何模糊查询wal相关的参数?
回答 3
\dconfig这篇文章的第2个案例有示例:数据库微观案例第43期
聊聊pg中的页剪枝问题,oracle中有类似的机制吗?
回答 1
有,而且功能更完善
请教postgre的数据库权限问题
回答 2
已采纳
在PostgreSQL中,创建数据库后,只有创建该数据库的用户和超级用户才有权访问该数据库。其他用户必须被明确授权才能访问。当你创建一个新用户时,该用户没有任何默认的权限,除非你明确授权。例如,如果你
postgreSQL10流复制是必须用复制槽吗?
回答 1
 在PostgreSQL10及以后的版本中,流复制不一定必须使用复制槽(ReplicationSlots)。复制槽是PostgreSQL提供的一种机制,用于跟踪主服务器和备份服务器之间的数据
PostgreSQL 14 支持winserver2022吗?
回答 2
已采纳
支持
postgreSQL 报错An I/O error occurred while sending to the backend.要怎么解决呢?
回答 1
google一篇合适文档:https://stackoverflow.com/questions/49274390/postgresqlandhibernatejavaioioexceptiontri
postgreSQL 密码区分大小写 ,有参数控制吗?
回答 2
已采纳
默认就是确认大小写,可以指定密码的加密算法
可以把现有的postgresql数据库,转到华为的gauss吗?
回答 4
可以,opengauss的pg版本9.2.4,分区表(pg中继承分区)、部分数据类型(时间类型、二进制)不一样。
物理复制的启动和停止顺序?
回答 1
在PostgreSQL物理流复制架构中(例如一主一从),进行系统级维护时,通常推荐的停启顺序如下:停止(关库)顺序:先停止从库(Standby):先关闭从库可确保从库不会在主库关闭后反复尝试连接,从而
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~