数据库系统实现(BUFFER CACHE)

       当一个HASHKEY 追加到TREE中,需要进行自顶向下的数据流动,先进入到ROOT MESSAGE BUFFER中,不进行向下流动,到阀值时,进行数据的下推。批量下推,每一个HASHKEY要进行范围定位,看是属于哪个节点的。判断的条件是:当TREENODE对应的BUFFER数据没有满的情况下,追加到此TREENODE中,修改MAX值和COUNTER;如果TREENODE对应的数据满的情况下,增加MAX值的对应判断,如果大于MAX,需要向下一级的MSGBUFFER中追加。

       HASHKEY 进入到MSGBUFFERLIST后,需要进行分组,同TREENODEID的放在一起,分组的数量越往下越多(因为TREENODE多),从文件中LOAD 对应的TREENODE的数据到内存中,这个过程是异步的(可以一次LOAD多个TREENODE的数据),到内存后处理就方便了,可以进行INSERT, MERGE, SORT, SPLIT处理,SPLIST数据到下一级的MSGBUFFER中,数据回写到对应的TREENODE对应的磁盘位置。数据需要从比较低层开始进行合并,为了让出空间MSGBUFFER给上一级处理后的数据。这种算法索引 TASK 和文件操作TASK进行的交互较多,时序控制复杂。

        另外一种做法,对应MSGBUFFER对应的文件,直接将MSGBUFFER LIST ID发消息给LOGSVR TASK, 在LOGSVR任务中进行文件的读取,数据合并,SPLIT后,处理完一个LEVEL的数据后,发消息给索引 TASK, 索引 TASK 和文件操作TASK的交互少,时序容易控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值