-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
numPage的大小计算 #8
Comments
文件是以页的形式储存在磁盘中,大小必然是页大小的整数倍。比如某一文件的页刚好全满,又要添加新的数据,那么是在磁盘中开辟一个新的页储存新数据,如果新数据只占用了页的一小部分,多的空间依然保留着等待其他数据的添加。这里的file.length是指文件的容量/空间,而不是实际大小。 |
请问有必要使用管网上说的虚拟机吗(而且那个站点好像已经挂了),我这边是直接用的IDEA,Windows10,JDK8可以吗 |
就是这个网站 http://beta.saasbook.info/bookware-vm-instructions ,课程主页说让我们在这个链接里面找虚拟机镜像,可是这里打不开了 |
没必要,我用的win10+eclipse+jdk8 |
MIT的课程网站,lab是相同的。http://db.lcs.mit.edu/6.830/sched.php |
请问在实现Join操作的时候是在哪里有Join写的那几种方法的测试效率的??因为那个数据量太小了,不知道作者在实现时是怎么去判断执行效率的?执行后貌似并没有感觉到NLJ,BNLJ,DoubleBlockNestedJoin的执行上从测试时间上看不出差异来? |
这几个方法都是建立在要多次读写磁盘的背景上进行的优化,数据量小的时候数据都在内存中确实没有多大区别,因为磁盘IO才是数据访问中耗时最多的步骤,有关这部分可以看CMU 15-445的 join 部分,除了这几种方法还讲到了sorted join 和 hash join,分析了不同方法的耗时 |
这里因为要先创建一个空白页,可以把它直接写入磁盘,因为没有涉及到用户的个人操作,是安全的。而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.
|
(int) (file.length / pagesize)的话,不就向下取整了吗。这不就把文件最后不足一页大小的数据忽略了吗?还是应该把这些记为一页呢
The text was updated successfully, but these errors were encountered: