《搜索引擎-信息检索实践》
P85
搜索引擎中倒排表的合理压缩分析
数学上,假设某个处理器每秒能够处理p个倒排表的posting。该处理器附在每秒能够提供m个posting的存储器上。每秒能够处理的posting数则为min(m,p)。如果p>m,则处理器需要花写时间等待posting从存储器中传过来。如果m>p,则存储器有些时候会闲置。
假设在系统中引入压缩,压缩率为r,也就是说,现在能够在原本仅能存储一个posting的空间内存储r个posting。这使得处理器每秒能够读取mr个posting。然而,在处理它之前,处理器首先需要对每个posting进行解压,这使得处理速度为d的解压因子降低了,从而处理器每秒处理dp个posting。现在,每秒能够处理min(mr,dp)个posting。
当不适用压缩技术时,r=1,d=1。任何可行的压缩技术使得r>1,d<1。可见,只有当p>m是,压缩才是对性能提高提供帮助的技术,处理器能够处理的倒排表数据比存储器提供的快。理想情况是选择一种使得min(mr,dp)最大的压缩方法,这将发上在mr=dp时。