暂无图片
Backend 访问数据块时,读取数据的流程是什么?
我来答
分享
暂无图片 匿名用户
Backend 访问数据块时,读取数据的流程是什么?

Backend 访问数据块时,读取数据的流程是什么?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
数据库观察员

Backend 访问数据块时,读取数据的流程如下: 首先,将进程要访问的数据块标记发送给管理器,并由管理器负责寻找当前哪个 ID 存在可用空间。然后管理器将找到的 Buffer_id 发送给用户进程并记录到描述层,管理器的后台将数据块读到数据缓冲区。后台进程得到 Buffer_id 以后,根据 Buffer_id 找到数据块。 如果下一次要读同样的块,backend 进程会将需要访问的 buffer tag 发送给管理器, 管理器扫描该数据块是否曾被访问过。如果有,则查询该数据块当前放在哪个 Buffer_id 并将 Buffer_id 发给 backend 进程,然后进行访问。由于数据块已经存在 缓冲区,因此不再需要从磁盘里读数据块。

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


请输入正文
提交
相关推荐
PolarDB咱们CN层和APACHE shardingsphere这个开源项目 有啥区别呢?
回答 2
数据库和中间件的区别吧,SQL执行能力和事务
PolarDB连接数突然飙升怎么处理?
回答 1
PolarDBMySQL控制台提供了丰富的性能监控项和秒级监控频率,方便掌握集群的运行状态并通过细粒度的监控数据快速定位运维问题。同时PolarDBMySQL的一键诊断融合了DAS部分功能,支持自治中
PolarDB-X执行有没有什么报错信息?
回答 1
根据您提供的信息,先执行了kubectlannotatepodrunmodedebug,然后需要进入CN的pod,查看/home/admin/drdsserver/logs/tddl/tddl.log
globalsnapshot 机制的流程是什么?
回答 1
用户SQL发送后,生成计划并确定协调节点,协调节点会广播ReadLSN,每个worker节点等待回放到ReadLSN。结束之后获取各自的snapshot,通过序列化发送给协调节点。协调节点汇总所有wo
客户端连接polarDB-X不能有多个 metadb吗
回答 1
只能有一个,metadb本身可以是高可用的但是不能这样操作
如何做集群的心跳的管理?
回答 1
可以用pgcron的组件来做集群的心跳的管理。
基于PostgreSQL数据结构的读等待机制设计是什么意思?
回答 1
在读等待的时候,不能把Buffer的锁加上,这样的话会阻塞写,影响并发性能。如果发现它是prepare的,要等待它,我们首先要解锁Buffershared锁,允许并发写进来,同时等待xid结束再去加b
什么是Logger节点?
回答 1
Logger节点不存储数据,它从Leader中拉取到日志之后,它不进行回放,只保留实时日志,日志的目的是三个节点成本与主备基本相当。
PolarDB已创建的数据库无法选择已有账号
回答 1
数据库创建完成之后是无法选择对应的账号进行授权的。只能是在创建数据的时候,选择对应的账号授权才可以可以通过DMS使用高权限账号登录之后右击实例账号管理选择对应的用户编辑用户选择对象权限选择对应的库表信
请问在麒麟linux中安装polarpg,执行polardb_build.sh,会报错:llvm-config not found,这个要怎么解决呢
回答 1
这个报错提示是因为执行polarbuild.sh脚本时,依赖的LLVM和Clang的路径没有在系统的环境变量中配置,需要手动将路径配置到环境变量中。以下是具体的解决方法:首先确认LLVM和Clang已
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~