关于10年内个人软件的假设 >>
<< Google的启示::[Search Engine]
关于whiz-ztore的思考

Author Zhou Renjian Create@ 2005-11-25 19:49
whizz Note icon
5、6、7月份的时候,我一直在写whiz-ztore那个RDF-based的数据库,现在再看Google File System的假设,比较一下:
whiz-ztore 只会不停的写入,不会删已有的记录,这个和GFS是相似的。但是在细节上,还是有点区别的。例如修改的问题上,whiz-ztore的修改使用的增量修 改,也就是先和原有的内容进行类似度比较,并把修改的部分抓取出来,然后再压缩存储。然后保存后,whiz-ztore有个问题,就是会修改一个\r index的值,使得最新的记录直接指向修改的记录。虽然老的记录还是可以同链接遍历的方法读取到的,但是一旦新增的记录出错,必然导致原有记录的访问或\r 多或少地出现问题,虽然这些记录肯定能够恢复。另外一个问题就是这些经过了比较和压缩的记录,要重新获得,则需要跟多的CPU计算时间,这个问题需要通过 多一层的cache进行管理,虽然我已经考虑了在记录的时候运行提供不进行比较和压缩的选项!当然在这个只增不修改的数据库中,如何快速访问是一个问题, whiz-ztore无法和GFS进行比较。而且我已经知道whiz-ztore在数据量超过一定程度时,性能已经是一落千丈了!
whiz-ztore没有做错误的猜测,反而认为记录是安全的,不会出错,所以不作更多的冗余记录。但是我记得,在实现到一定的阶段后,我重新修改了一部 分代码使得记录一部分索引或者什么丢失的话,依旧可以通过在大概1M的范围内进行遍历搜索,仍能恢复没有被损坏的数据。但是这是不足的,特别对于数据库来 说。
whiz-ztore的block是大概100多K,具体值忘了。实际上,我并没有设置这个值为多少,不过设计理念是尽量不多用空间,这是因为whiz-ztore是为了小型的个人应用开发的,所以希望总体数据库容量不超过100M的。
至于修复是否有必要的问题,能够通过1M范围内的搜索进行修复的处理应该是whiz-ztore有修复功能的证明。
比较起来GFS确实有点意思,而当然我设计的whiz-ztore一来没有完成,二来本来设计的初衷就不是大型数据库系统的,三来我个人经验有限。
什么时候,我要重新收拾whiz-ztore的概念!
本记录所在类别:
本记录相关记录: