2010年10月15日

数据压缩与LZ系列算法及其改进

摘要: 字典压缩的原理是构建一个字典,用索引来代替重复出现的字符或字符串。原始的LZ77算法是利用了字符串中上下文的相关性特点,通过一个滑动窗口(一个查找缓冲区)来作为字典,对要压缩的字符串保留一个look-aheadbuffer。压缩后的字符串采用三元组来表示:,在滑动窗口中从后往前找,如果在窗口中有曾经出现过的相同字符,看最多可以匹配多少字节,完了继续往前查找,查找完了取窗口中最长的匹配串(如果有多个相同长度的串可以匹配,取最后一个),将这个匹配串距当前位置的位移,长度,及下一个字符构成的三元组写出。如果在滑动窗口找不到匹配串,那么位移=长度=0,加上不能压缩的字符一起输出。滑动窗口可以通过循环队列实现。解压缩是一个比较简单而且快速的过程,在需要解压缩时通过位移和长度拷贝之前出现过的字符串就可以完成。 阅读全文

posted @ 2010-10-15 21:16 Swimming Fish 阅读(3498) 评论(0) 推荐(1) 编辑

几种主流数据库的压缩技术对比

摘要: 压缩功能几乎是当前主流数据库的标配功能,除了能够节省存储空间外,在IO密集型的系统中, 可能也会带来性能的提升。由于我们的存储引擎也需要做记录级压缩的功能,所以很长的一段时间都在研究数据库压缩的技术,包括算法的选型及优化,当然这之前要对现有主流数据库的压缩功能做一些调研。 阅读全文

posted @ 2010-10-15 21:02 Swimming Fish 阅读(2213) 评论(0) 推荐(2) 编辑

导航