(备注:历史资料在今天补充发布)
数据库实验室林子雨老师小组2012年暑假第三次小组会议会议纪要
会议时间:2012年08月03日14时30分到17时30分
会议地点:厦门大学海韵园科研二号楼303室
与会者:林子雨、赖明星、刘颖杰
会议内容:
会议首先由林子雨老师作了题为《数据库领域前沿研究调研报告》的报告,这次报告是上一次报告的补充与完善,主要增加了以下知识:
1. 动态盘的内部构造
2. FTL 的功能和实现机制
3. 块的合并操作
4. BAST机制的写操作过程
林子雨老师首先通过一张很形象的图给我们介绍了动态盘的内部结构,主要包括控制器,FTL,SRAM和闪存块,并分别介绍了它们的作用,然后介绍了FTL的各种实现机制,之后又通过林老师自己画的图,重点介绍了块的合并操作,包括切换合并、部分合并和全合并,并解释了为什么全合并操作代价非常之高。最后详细介绍了FTL在BAST机制下的写操作过程,通过这样一个写过程,帮助大家理解动态盘的存储步骤。
林子雨老师的报告持续了一个半小时,之后由赖明星同学作题为《FlashStore:High Throughput Persistent Key-Value Store》的论文阅读报告,赖明星同学根据论文的介绍顺序介绍了一下相关背景、闪存特性和两个Key-Value 存储的应用程序。之后重点介绍了FlashStore的框架和组成部分,且分别介绍了各组成部分的功能,并通过模拟一次读操作和一次写操作来加深理解。中间大家还对FlashStore中使用的两个巧妙方法进行讨论了:
1. Bloom Filter
Bloom filter 采用的是哈希函数的方法,将一个元素映射到一个 m 长度的阵列上的一个点,当这个点是 1 时,那么这个元素在集合内,反之则不在集合内。这个方法的缺点就是当检测的元素很多的时候可能有冲突,解决方法就是使用 k 个哈希 函数对应 k 个点,如果所有点都是 1 的话,那么元素在集合内,如果有 0 的话,元素则不在集合内。
2. Cuckoo Hashing
Cuckoo Hashing 也是采用类似于Bloom Filter的思想,通过使用多个hash函数,提高hash表的使用率。
在对以上两个问题讨论完以后又分析了FlashStore 的多线程并发问题,然后又简单的分析了灾难恢复问题,最后通过几张图表分析了FlashStore带来的性能提升以及资源有效利用等。
赖明星同学的报告持续了一小时,报告结束以后得到了林子雨老师的充分肯定,最后由刘颖杰同学作题为《Aggregate Keyword Search on Large Relational Databases》的论文阅读报告。
刘颖杰同学通过一个实例演示了什么是聚集关键词查询,然后给出了聚集关键词查询的查询公式Q=(D,C,W),并通过一颗树来演示了该公式的使用方法,最后通过分析采样算法来加深大家对公式的理解,由于时间问题,刘颖杰同学的报告将在下次继续补充。