本文提出一种用于内存搜索树的高速保序编码器(HOPE)。HOPE是一个基于字典的快速压缩器,可以对任意键进行编码,同时保留它们的顺序。HOPE的方法是在细粒度上识别常见的关键模式,并利用熵来实现小字典的高压缩率。本文首先建立了一个理论模型来推理保序字典设计。然后选取了六种具有代表性的基于该模型的压缩算法进行实现。这些方案在压缩率和编码速度之间做出了不同的权衡。我们在数据库中使用的五种数据结构:SuRF、ART、HOT、B+树和Prefix B+树上对HOPE进行了评估。我们的实验表明,对于大多数字符串关键工作负载,使用HOPE可以使搜索树同时实现更低的查询延迟(降低40%)和更好的内存效率(减少30%)。
方法:
本文提出高速保序编码器(HOPE),一种基于字典的键压缩器,用于内存搜索树(例如B+树,tries)。HOPE包含六种熵编码方案,在压缩率和编码性能之间进行权衡。当DBMS创建一个基于树的索引/过滤器时,HOPE会对初始批量加载的键进行采样,并统计按方案指定的字节模式的频率。它使用这些统计信息来生成符合我们的理论模型的字典符号,以保持键顺序。然后,HOPE使用定长编码或最优保序前缀编码对这些符号进行编码。HOPE的一个关键见解是它强调编码速度(而不是解码),因为我们的目标搜索树查询不需要重建原始键。