数据库实验室林子雨老师团队2013—2014学年秋季学期
第4次小组讨论会会议纪要
会议时间:2013年10月27日(星期日)上午9点到11点30分
会议地点:厦门大学海韵园科研二号楼303室
与会者:林子雨、刘颖杰、叶林宝、蔡珉星、李雨倩、罗道文
会议纪要:刘颖杰
会议内容:
厦门大学计算机系数据库实验室林子雨老师小组2013-2014学年第一学期第4次小组会议在2013年10月27日举行,在本次讨论会上,叶林宝同学继续讲解Google Gremel。
内容如下:
- 重复深度、定义深度
重复深度是记录该列的值是在哪一个级别上重复的。定义深度,用来记录该列是否是”想象”出来的。所以对于非NULL的记录,是没有意义的,其值必然为非required字段的个数。
- 如何有效的获取各条记录中各个原子字段的重复深度。
- 通过状态自动机以及各个字段的表构造出记录。
给定到一个字段的子集,我们的目标是重组原始记录就好像他们只包含选择的字段,其他字段就当不存在。核心想法是:我们为字段子集创建一个有限状态机(FSM),读取字段值、重复深度、定义深度,然后顺序地将值添加到输出结果上。
- FSM的构造需要结合schema,将schema先构造为一棵树,通过这棵树再构造成FSM。
- Dremel的查询语言基于SQL,可在列状嵌套存储上高效执行。
- 在数据分布式存储之后,如何尽可能并行的执行计算过程。核心概念就是实现一个树状的执行过程,将服务器分配为树中的逻辑节点,每个层次的节点履行不同的职责,最终完成整个查询。
查询分发器。Dremel是一个多用户系统,多个查询通常会被同时执行。一个查询分发器会基于查询任务的优先等级和负载均衡对查询任务进行调度。它还能帮助实现容错机制,当一个服务器变得很慢或者一个tablet备份不可访问时可以重新调度。