林子雨老师团队第二次讨论会会议纪要

数据库实验室林子雨老师小组2012—2013学年第二学期

第二次小组会议会议纪要

会议时间:2013年4月6日(星期六)下午2:30到5:30

会议地点:厦门大学海韵园科研二号楼303室

与会者:林子雨老师和苏志锋、赖明星、刘颖杰、叶林宝同学

会议纪要撰写:刘颖杰

会议内容

厦门大学计算机系数据库实验室林子雨老师小组2012—2013学年第二学期第二次小组会议在2013年4月6日召开,会议首先由赖明星同学作题为《Transactional Flash 》的报告,报告过程中,林子雨老师与其他三位同学针对报告进行了讨论,分析了该论文的优缺点;然后由苏志峰同学对drupal工具及自己从事网站工作的经验作了报告,在报告过程中,大家就自己的疑问提出问题,苏志锋同学一一解答。最后,林子雨老师对本次会议做出了肯定。

1.赖明星同学作题为《Transactional Flash》的论文阅读报告

赖明星同学此次的报告的主要内容是介绍闪存数据库的事务恢复策略TxFlash,首先带领大家一起回顾了事务的概念和事务的ACID特性;然后介绍了闪存的特性,闪存的优点和闪存的缺点;最后介绍了论文中提出的事务恢复协议方法,即Txfalsh。

1.1事务的概念

所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务具有原子性、一致性、隔离性和持久性。其中,事务恢复的作用是保证事务的原子性与持久性,在系统发生故障或者认为中止事务时,能够回滚到事务执行之前的状态。

1.2闪存的特性

闪存是一种非易失的存储器,具有如下优点:1)速度快;2)省电;3)重量轻;4)体积小;5)抗震。 同时,闪存还具有如下特性:1)写前擦除;2)异地更新;3)擦除操作以块为单位、读写操作以页为单位;4)读写效率对称;5)有限次擦除操作。

正是因为闪存拥有上面的特性,传统的数据库系统不能直接应用到闪存设备上,需要针对闪存的特性修改或者设计已由的算法和数据结构,以充分利用闪存的优点,避免闪存的缺点。

1.3 TXFLASH

Txflash技术是指在固态盘中增加WriteAtomic函数(多页面随机写),并依此向上层软件提供更为方便的数据库事务处理操作。

由于闪存固态盘的特性:异地更新,快速随机读写以及高并发性,使得在闪存固态盘上对数据库的部分操作增添特效函数十分方便。于是,作者摒弃了传统事务恢复的做法,采用cyclic commit protocol技术来完成事务回收功能。其主要原理为将事务的目标叶以环形链表的数据结构进行存储,已经提交的事务将表现为环状链表形态,而未完成的事务将表现为单链表;并在叶回收过程中,通过指向下一页的指针找到下一页,从而根据下一页的情形来确定该页的状态。

由于数据库软件与地层硬盘分属不同层次,所以这种跨层的开发目前尚难以得到有效支持;同时因为该论文过多的涉及底层驱动开发,较少联系到数据库,因此,应用范围较窄。

2.苏志峰同学作题为《Introduction to Drupal》的论文阅读报告

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。

2.1.Drupal特点以及相关技术

Drupal作为一款开源的软件,其拥有良好的社区技术支持,并具有合理的商业应用模式。Drupal不等于模板建站系统,他们之间有着本质的区别。Drupal的学习曲线相当漫长和陡峭,比PHP难度大得多,要求也高的多。事实上,只有精通HTML5、Symfony 、CSS、Javascript、PHP、MySql的开发人员,经过长期刻苦的学习,才有可能真正的驾驭Drupal,Drupal是给经验丰富的程序员用的,而不是给一般普通用户用的。

Drupal是一套开源的内容管理平台,拥有多种功能,可以用来建设从个人网站到大型社区网站。Drupal包括以下的功能:Blog、协同写作平台、论坛、电子报、相册、文件的上传与下载、全文搜索、多角色权限管理、模块化、主题引擎、多语言支持

2.2理解Drupal

Drupal的架构由三大部分组成:内核、模块、?魈狻H咄ü?Hook机制紧密的联系起来。其中,内核部分由世界上多位著名的WEB开发专家组成的团队负责开发和维护.

Drupal从收到页面请求开始,到加载完页面内容然后对页面进行主题化,到最终将页面返回给用户,这个过程中会调用一系列的函数来处理,这些函数有一些是有确定函数名称的,有一些则是定义了一个命名规则,如hook_function1,其中function1是固定的,hook是可变的,drupal引导程序会在所有启用了的模块和主题中查找符合这种命名规则的函数,找到了就会调用。hook机制的好处就是方便开发,因为你知道只要按命名规则定义的函数,就会被调用,不用考虑怎么把自己的函数调用加到drupal引导过程中去。另外,hook有优先级,支持覆写,这样就可以在不改变drupal核心和第三方模块的情况下,加入自己定义的功能,或者修改原来的功能,方便维护和升级。

Drupal内核主要包括基本内容管理,用户管理,版本控制,URL别名,本地化,模版化等。

Drupal模块是drupal功能实现的单位元。模块化是drupal的一个特色,极大的方便了drupal的扩展和灵活定制的能力。Drupal模块的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在‘管理-设置’里面方便地开启使用了。Drupal的模块分为基本功能模块和功能增强模块。

Drupal还提供了优秀的主题功能,可以使用户方便地调整外观格式,隐藏内容或展现内容等。同时网上丰富的模版资源也方便了用户的开发使用。

 

(摄影:叶林宝   下图为林子雨老师和苏志锋、赖明星和刘颖杰同学在讨论会现场看PPT演示内容)

厦门大学,数据库实验室,叶林宝,林子雨,苏志锋,赖明星,刘颖杰