numPage的大小计算
(int) (file.length / pagesize)的话,不就向下取整了吗。这不就把文件最后不足一页大小的数据忽略了吗?还是应该把这些记为一页呢
文件是以页的形式储存在磁盘中,大小必然是页大小的整数倍。比如某一文件的页刚好全满,又要添加新的数据,那么是在磁盘中开辟一个新的页储存新数据,如果新数据只占用了页的一小部分,多的空间依然保留着等待其他数据的添加。这里的file.length是指文件的容量/空间,而不是实际大小。
请问有必要使用管网上说的虚拟机吗(而且那个站点好像已经挂了),我这边是直接用的IDEA,Windows10,JDK8可以吗
就是这个网站 http://beta.saasbook.info/bookware-vm-instructions ,课程主页说让我们在这个链接里面找虚拟机镜像,可是这里打不开了
就是这个网站 http://beta.saasbook.info/bookware-vm-instructions ,课程主页说让我们在这个链接里面找虚拟机镜像,可是这里打不开了
没必要,我用的win10+eclipse+jdk8
好的,那请问您是直接下载了他的代码然后自己写的吗,那我是不是在学习自己做的时候应该先把网站上的代码下载下来,然后遇到问题在参照您的来看会更好呢??
MIT的课程网站,lab是相同的。http://db.lcs.mit.edu/6.830/sched.php Github仓库:https://github.com/MIT-DB-Class 建议看18年的指导,21年的也可以,都是一样的。实现的模块不一样多 代码:https://github.com/MIT-DB-Class/simple-db-hw 包括所有的模块
请问在实现Join操作的时候是在哪里有Join写的那几种方法的测试效率的??因为那个数据量太小了,不知道作者在实现时是怎么去判断执行效率的?执行后貌似并没有感觉到NLJ,BNLJ,DoubleBlockNestedJoin的执行上从测试时间上看不出差异来?
请问在实现Join操作的时候是在哪里有Join写的那几种方法的测试效率的??因为那个数据量太小了,不知道作者在实现时是怎么去判断执行效率的?执行后貌似并没有感觉到NLJ,BNLJ,DoubleBlockNestedJoin的执行上从测试时间上看不出差异来?
这几个方法都是建立在要多次读写磁盘的背景上进行的优化,数据量小的时候数据都在内存中确实没有多大区别,因为磁盘IO才是数据访问中耗时最多的步骤,有关这部分可以看CMU 15-445的 join 部分,除了这几种方法还讲到了sorted join 和 hash join,分析了不同方法的耗时
请问为什么这里在插入之前就把页写入到硬盘了呢(我觉得应该先把tuple写到新page里再写到硬盘)??还有向硬盘写入不应该借助BufferPool吗,这里怎么直接用了呢??
这里因为要先创建一个空白页,可以把它直接写入磁盘,因为没有涉及到用户的个人操作,是安全的。而insert是一个用户的修改操作,insert的时候必须要加锁,否则可能会发生数据不一致的情况。BufferPool的主要作用有两个,一是缓存,二是加锁,因此要通过BufferPool调用
------------------ 原始邮件 ------------------ 发件人: "iamxpy/SimpleDB" @.>; 发送时间: 2021年5月22日(星期六) 凌晨0:32 @.>; @.@.>; 主题: Re: [iamxpy/SimpleDB] numPage的大小计算 (#8)
请问为什么这里在插入之前就把页写入到硬盘了呢(我觉得应该先把tuple写到新page里再写到硬盘)??还有向硬盘写入不应该借助BufferPool吗,这里怎么直接用了呢??
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
建议你在github上提一个新的issue,这样你的问题和我的回答也能让其他人分享到
------------------ 原始邮件 ------------------ 发件人: "iamxpy/SimpleDB" @.>; 发送时间: 2021年5月22日(星期六) 凌晨0:32 @.>; @.@.>; 主题: Re: [iamxpy/SimpleDB] numPage的大小计算 (#8)
请问为什么这里在插入之前就把页写入到硬盘了呢(我觉得应该先把tuple写到新page里再写到硬盘)??还有向硬盘写入不应该借助BufferPool吗,这里怎么直接用了呢??
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
join之后tuple肯定会变啊,join不就是把两个表连接起来吗…
------------------ 原始邮件 ------------------ 发件人: "iamxpy/SimpleDB" @.>; 发送时间: 2021年5月20日(星期四) 晚上7:13 @.>; @.@.>; 主题: Re: [iamxpy/SimpleDB] numPage的大小计算 (#8)
有个比较困惑的地方,为什么聚合器里面需要设置 //聚合前tuple的行描述 TupleDesc originalTd; //聚合后的tuple的行描述 TupleDesc td; 感觉聚合后类型应该和聚合前应该没有区别呀??应该只要一个就够了吧
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.